Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ [РЕШЕНО]keyPressEvent CTRL + SPACE

Автор: DEADHUNT 9.5.2010, 11:25

как можно в keyPressEvent отловить CTRL + SPACE?

Автор: kibsoft 9.5.2010, 13:00

Цитата(DEADHUNT @ 9.5.2010, 12:25) *
как можно в keyPressEvent отловить CTRL + SPACE?

Попробуй так:
if (e.modifier()==Qt::ControlModifier && e.key()==Qt::Key_Space) {
//действия
}

e - указатель на объект QKeyEvent.

Автор: DEADHUNT 9.5.2010, 13:24

при нажатии CTRL + SPACE:
key() == Qt::Key_Control
modifier() == Qt::ControlModifier
то есть пробела здесь и не видно, при нажатии CTRL без всяких кнопок получаем тоже самое.

Автор: Litkevich Yuriy 9.5.2010, 15:42

DEADHUNT, а что возвращает функция
QKeyEvent::count ()
?

Автор: DEADHUNT 9.5.2010, 15:46

сделал тестовый пример, при нажатии CTRL + SPACE два раза вызывается keyPressEvent:
Qt::Key_Control, Qt::ControlModifier;
Qt::Key_Space, Qt::ControlModifier;
а в моей программе только один раз, наверное где-то что перехватывается, то есть моя наверное где-то ошибка.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)