![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
RaiaN |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 18.7.2012 Пользователь №: 3453 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо за то, что зашли в эту тему.
У меня возникла проблема следующего рода: Мне нужно установить связь (а-ля connect) между своим событием и слотом. Проблема заключается в том, что я не знаю, как правильно в параметр SIGNAL передать свое событие. Мне нужно передать туда событие типа KeyPressEvent. В нем при помощи switch я определяю, какая кнопка нажата,чтобы затем выполнить нужные мне действия. Как можно это осуществить? То есть вот допустим есть операция connect(leftMonthButton, SIGNAL(clicked()), this, SLOT(decrementMonth())); Мне нужно вместо clicked() поставить свое событие, которое будет реагировать при нажатии левой стрелки. |
|
|
ssoft |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 130 Регистрация: 17.2.2010 Из: Москва Пользователь №: 1470 Спасибо сказали: 30 раз(а) Репутация: ![]() ![]() ![]() |
Мне нужно установить связь (а-ля connect) между своим событием и слотом. Проблема заключается в том, что я не знаю, как правильно в параметр SIGNAL передать свое событие. Мне нужно передать туда событие типа KeyPressEvent. В нем при помощи switch я определяю, какая кнопка нажата,чтобы затем выполнить нужные мне действия. Как можно это осуществить? То есть вот допустим есть операция connect(leftMonthButton, SIGNAL(clicked()), this, SLOT(decrementMonth())); Мне нужно вместо clicked() поставить свое событие, которое будет реагировать при нажатии левой стрелки. Есть как минимум два способа: 1. Можно у своего widget декларировать сигнал leftArrowClicked(), и вызывать его при обработке события keyReleaseEvent () в случае события для кнопки Qt::Qt::Key_Left. соединить сигнал
2. Можно у своего widget декларировать сигнал keyClicked( int ), и вызывать его при обработке события keyReleaseEvent (), передавая код отжатой клавиши клавиатуры. тогда нужно модифицировать еще и слот
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 22:04 |