Russian Qt Forum
Мая 15, 2025, 17:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableView проблема с фокусом  (Прочитано 5032 раз)
qlostTV
Гость
« : Февраля 06, 2012, 08:22 »

Здравствуйте, столкнулся с проблемой, при клике на таблицу(если нет строк) то hasFocus=false, т.е. фокус =true, только тогда, когда клик по строке. Соответственно нужен фокус=true и с пустой таблицей.
Записан
Bepec
Гость
« Ответ #1 : Февраля 06, 2012, 09:08 »

А ты опиши, что хочешь сделать. А мы тебе поможем ^.^

PS а если всё таки хочешь только фокус, то перехватывай нажатие мыши и ставь фокус программно.
Записан
qlostTV
Гость
« Ответ #2 : Февраля 06, 2012, 09:17 »

А ты опиши, что хочешь сделать. А мы тебе поможем ^.^
тут и нужно, что при клике на таблицу ставить ей фокус. но фокус ставиться только когда по items кликаешь=)

Цитировать
PS а если всё таки хочешь только фокус, то перехватывай нажатие мыши и ставь фокус программно.

попробую, правда странно, думал готовый слот на такие нужды есть=)
« Последнее редактирование: Февраля 06, 2012, 09:22 от QLostTV » Записан
asvil
Гость
« Ответ #3 : Февраля 06, 2012, 11:32 »

Добро пожаловать в Qt, где шаг в сторону и код превращается в кучу взаимосвязанной глючной лапшы.
Записан
qlostTV
Гость
« Ответ #4 : Февраля 06, 2012, 11:38 »

Добро пожаловать в Qt, где шаг в сторону и код превращается в кучу взаимосвязанной глючной лапшы.

если посмотреть обширно, довольно таки все изящно, а вот это абсурт, tableview это виджет, т.е. логично и для него делать, когда по таблице без итемов, то тоже фокус ему передавать
Записан
alexman
Гость
« Ответ #5 : Февраля 06, 2012, 11:42 »

А ты опиши, что хочешь сделать. А мы тебе поможем ^.^
тут и нужно, что при клике на таблицу ставить ей фокус. но фокус ставиться только когда по items кликаешь=)
Зачем?
Записан
qlostTV
Гость
« Ответ #6 : Февраля 06, 2012, 11:45 »

Зачем?

глупый вопрос. Ну как зачем, я кликаю по таблице, в ней строк нету и фокус не устанавливается, все дальше ничего делать не могу с таблицей.
Записан
_OLEGator_
Гость
« Ответ #7 : Февраля 06, 2012, 11:52 »

У меня hasFocus() == true и с пустой таблицей.
Проблема видимо в чем то другом.
Минимальный проект с ошибкой в студию...

to Филоненко Михаил:
ничего подобного, все работает так, как вы спроектируете!
Записан
Bepec
Гость
« Ответ #8 : Февраля 06, 2012, 12:05 »

Без проекта, любая программа на любом языке, длиной более 7000 символов превращается в глючную кучу.

Зачем тебе фокус на пустой таблице, QLostTV?

ЧТО ТЫ ХОЧЕШЬ СДЕЛАТЬ?

(например - хочу при получении фокуса таблицей, вывести надпись - тут был фокус ©)
Записан
qlostTV
Гость
« Ответ #9 : Февраля 06, 2012, 12:06 »

У меня hasFocus() == true и с пустой таблицей.
Проблема видимо в чем то другом.
Минимальный проект с ошибкой в студию...
да действительно, нашел ошибку, очень глупая
Код:
   QString txt = QInputDialog::getText("","");
    if(ui->tableView->hasFocus()){
......................
}

ясное дело фокус у меня и терялся=)

как сразу не заметил этого. Видимо старею!!!!
Записан
qlostTV
Гость
« Ответ #10 : Февраля 06, 2012, 12:07 »

Без проекта, любая программа на любом языке, длиной более 7000 символов превращается в глючную кучу.

Зачем тебе фокус на пустой таблице, QLostTV?

ЧТО ТЫ ХОЧЕШЬ СДЕЛАТЬ?

(например - хочу при получении фокуса таблицей, вывести надпись - тут был фокус ©)

чтоб добавить строку, в эту таблицу=))))
Записан
Bepec
Гость
« Ответ #11 : Февраля 06, 2012, 12:10 »

Ну таки переопределяй keyPressEvent() и дублируй кнопками аля "Вставить строку".
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.018 секунд. Запросов: 18.