Переопределение функции keyPressEvent для определенного виджета |
Здравствуйте, гость ( Вход | Регистрация )
Переопределение функции keyPressEvent для определенного виджета |
AD |
19.3.2010, 18:41
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
keyPressEvent переопределяется только для главного окна программы. А как сделать, чтобы кнопки, например, "+" и "-" соответствовали только определенному виджету в этом окне?
Сообщение отредактировал AD - 26.3.2010, 13:38 |
|
|
kwisp |
24.3.2010, 12:24
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
теперь ясно почему используешь eventFilter().
непонятно чего ты добиваешься этим кодом Раскрывающийся текст Цитата
зачем Цитата if((object == tabTopoView -> chartWidget() || object == tabUniView -> chartWidget() || object == tabMarineView -> chartWidget() || object == tabLibView -> chartWidget()) вот эта проверка если у тебя фильтр заточен под конкретную задачу. для тебя же нет разницы в какой виджет передали "+/-" -- гланое что было событие нажатия клавиши и клавиша эта + или -. получается это лишнее. далее неясно вообще назначение локальной переменной bool p1. ты меняешь размеры её значение с какой целью непонятно. при выходе из локальной области видимости она разрушается. тебе по можно либо напрямую в фильтре событий менять масштаб в case : Qt::Key_Plus и case : Qt::Key_Minus либо высылать к примеру специальный сигнал об увеличении/уменьшении масштаба. |
|
|
AD |
24.3.2010, 12:42
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
далее неясно вообще назначение локальной переменной bool p1. ты меняешь размеры её значение с какой целью непонятно. при выходе из локальной области видимости она разрушается. тебе по можно либо напрямую в фильтре событий менять масштаб в case : Qt::Key_Plus и case : Qt::Key_Minus либо высылать к примеру специальный сигнал об увеличении/уменьшении масштаба. Да эта переменная была создана, так скажем, просто для проверки, что функция входит в данное условие. Естественно, позднее я собирался ее заменить полезным кодом. Повторюсь, что при нажатии на кнопки в эту функцию вообще не попадает дебаггер. |
|
|
Текстовая версия | Сейчас: 30.11.2024, 14:21 |