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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как получить состояние клавиш?  (Прочитано 3989 раз)
muaddib1981@mail.ru
Гость
« : Сентябрь 22, 2009, 13:36 »

Как отловить событие - если зажата клавиша выполнить какое-либо действие?
Для этого видимо надо знать состояние клавиш.
Записан
SimpleSunny
Гость
« Ответ #1 : Сентябрь 22, 2009, 15:11 »

Переопределить у виджета event(QEvent*).
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #2 : Сентябрь 25, 2009, 22:38 »

лучше перехватить keyPressEvent(QKeyEvent *event) и keyReleaseEvent(QKeyEvent *event)
например:
Код:
void myProgram::keyPressEvent(QKeyEvent *event)
{
 int key=event->key();
 if(key==Qt::Key_W)       QMessageBox::information(this,"","Нажата клавиша W");
 event->accept();
}

void myProgram::keyReleaseEvent(QKeyEvent *event)
{
 int key=event->key();
 if(key==Qt::Key_W)       QMessageBox::information(this,"","Клавиша W отпущена");
 event->accept();
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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