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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableWidget снять выделение  (Прочитано 4114 раз)
Paramon
Гость
« : Февраль 05, 2015, 14:28 »

Возможно ли как-то поймать и обработать клик по пустой области? Например если в списке 1 выделенный элемент, то при клике в пустой области элемент остается выделенным, а мне нужно чтобы выделение снималось, как в виндовом SysListView32?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 05, 2015, 14:33 »

Можно, я разрешаю.
Как пробовал и в чем проблема?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Paramon
Гость
« Ответ #2 : Февраль 05, 2015, 14:39 »

А если без флуда? Пробовал кликать, проблема в том что выделение не снимается.
Вопрос - в каком слоте обрабатывать клик чтобы понять, что клик в пустой области.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Февраль 05, 2015, 14:42 »

Код
C++ (Qt)
void QAbstractItemView::​clicked(const QModelIndex & index)
 
Только index у тебя будет невалидным.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Paramon
Гость
« Ответ #4 : Февраль 05, 2015, 14:50 »

Этот сигнал не приходит если кликать в пустую область.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Февраль 05, 2015, 14:56 »

Хм. Была у меня когда-то такая задача, но не помню уже решения. Вполне возможно, тебе придется вещать ивентФильтр и в нем ловить клики.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #6 : Февраль 05, 2015, 15:39 »

наверное вьюпорт ловит такие клики и не отдает дальше
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Февраль 05, 2015, 15:50 »

https://github.com/panter-dsd/PantherCommander/blob/master/src/qfullview.cpp

Но я тут наследовался от Вьюхи. Вобщем, через ивентФильтр надо.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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