Название: Qt 5.5.0 поломали Key press events с модификаторами? Отправлено: kuzulis от Август 23, 2015, 19:45 Всем привет.
Кажется в Qt 5.5.0 некорректно возвращается event->key() при любом нажатом модивикаторе.. Например, вместо key: 49, 50 или 51 всегда возвращается 16777248 (при нажатом Shift).. т.е. всегда возвращается код клавиши Shift... Блин, также не работают примеры из: "Examples\Qt-5.5\multimediawidgets\player\".. т.е. не работают Alt + Enter (переход в FullScreen).. Может кто проверить? * Windows 10 x64 * Qt 5.5.0 + MSVC2013 x32 Название: Re: Qt 5.5.0 поломали Key press events с модификаторами? Отправлено: PimenS от Август 23, 2015, 21:23 Windows 7 x64
Qt 5.5.0 + Mingw Код: qDebug() << event->modifiers() << isFullScreen() << event->key(); Цитировать QFlags<Qt::KeyboardModifiers>(ShiftModifier) false 77 QFlags<Qt::KeyboardModifiers>(ShiftModifier) false 74 QFlags<Qt::KeyboardModifiers>(ShiftModifier) false 72 QFlags<Qt::KeyboardModifiers>(ShiftModifier) false 71 QFlags<Qt::KeyboardModifiers>(ShiftModifier) false 70 QFlags<Qt::KeyboardModifiers>(ShiftModifier) false 68 QFlags<Qt::KeyboardModifiers>(ShiftModifier) false 83 QFlags<Qt::KeyboardModifiers>(ShiftModifier) false 70 QFlags<Qt::KeyboardModifiers>(ShiftModifier) false 71 Название: Re: Qt 5.5.0 поломали Key press events с модификаторами? Отправлено: kuzulis от Август 23, 2015, 22:05 А нажатие Shift + любую цифру на цифровой клавиатуре (при включенной NumLock) что выводит?
у меня: Цитировать QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777233 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 при Shift + 1 (на цифровой клаве), т.е. код 16777233 это Key_End.. в не зависимости от того, включен ли NumLock или нет. Название: Re: Qt 5.5.0 поломали Key press events с модификаторами? Отправлено: PimenS от Август 23, 2015, 22:29 Не думаю, что это баг. Скорее всего поменяли, какие-то настройки виджетов по умолчанию.
У меня разные виджеты по разному отрабатывают. Пример нажатия на цифровой клавиатуре (при включенной NumLock), цифры 1, 2, 3, 4, 5 Вар. 1. Пример player. Цитировать QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777233 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777237 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777239 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777234 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777227 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 Вар. 2. Виджет наследованный от QWidget. Цитировать QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777233 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777227 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 Т.е при нажатии 2, 3, 4 с нажатым Shift, вообще выдает 16777248, а 1 и 5 16777233 и 16777227 соответственно. ЗЫ. А у наследника QMainWindow Цитировать QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777233 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777237 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777234 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 QFlags<Qt::KeyboardModifiers>(KeypadModifier) 16777227 QFlags<Qt::KeyboardModifiers>(ShiftModifier) 16777248 Здесь только у цифры 3 получается 16777248. |