![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Ponter |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 4.3.2010 Пользователь №: 1504 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Есть таблица, унаследованная от QTableView. Переопределил метод keyPressEvent. Пытаюсь отловить комбинацию Ctrl+F. И никак. Пробовал разные варианты:
1) (e->key() == Qt::Key_F) && (e->modifiers() & Qt::ControlModifier) 2) e->matches(QKeySequence::Find) Причем другие клавиши и комбинации с Ctrl он без проблем перехватывает, например Ctrl+C. Что не так и как мне добиться решения? Спасибо |
|
|
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
а в родительских окнах сочетание не ловится нигде ?
|
|
|
lanz |
![]()
Сообщение
#3
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Если он перехватывает другие, но не перехватывает этот, значит кто то выше по иерархии съел событие.
Можно попробовать отловить событие на более высоком уровне. Оба приведенных варианта у меня успешно работают. Покажите минимально компилируемый пример, который демострирует проблему. Сообщение отредактировал lanz - 14.2.2013, 14:43 |
|
|
Ponter |
![]()
Сообщение
#4
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 4.3.2010 Пользователь №: 1504 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Вызов в конструкторе QMainWindow, используется QSqlQueryModel и ui->table->setModel(); То что в конструкторе не обращайте внимания: забыл удалить |
|
|
lanz |
![]()
Сообщение
#5
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
В том что вы запостили все в порядке. Проблема не тут, именно поэтому я попросил вас прикрепить компилируемый проект, который повторяет проблему.
Прикрепляю проект, который у меня работает и отлавливает и Ctrl+F и Find. Попробуйте его запустить.
Прикрепленные файлы
|
|
|
Ponter |
![]()
Сообщение
#6
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 4.3.2010 Пользователь №: 1504 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо, помогло. Оказывается родительский виджет перехватывает это нажатие. Проект делался давно, поэтому все нюансы были забыты...
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.2.2025, 10:30 |