crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> [РЕШЕНО]keyPressEvent CTRL + SPACE
DEADHUNT
  опции профиля:
сообщение 9.5.2010, 11:25
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


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

Сообщение отредактировал DEADHUNT - 9.5.2010, 15:46
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 9.5.2010, 13:00
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Цитата(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
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


при нажатии CTRL + SPACE:
key() == Qt::Key_Control
modifier() == Qt::ControlModifier
то есть пробела здесь и не видно, при нажатии CTRL без всяких кнопок получаем тоже самое.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.5.2010, 15:42
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9666
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


DEADHUNT, а что возвращает функция
QKeyEvent::count ()
?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DEADHUNT
  опции профиля:
сообщение 9.5.2010, 15:46
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


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

Сообщение отредактировал DEADHUNT - 9.5.2010, 15:47
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.4.2021, 0:34