QKeySequence的“ CTRL + PLUS”快捷键不适用于德语键盘布局

时间:2018-07-18 10:57:51

标签: qt qt5.5 qkeyevent qkeysequence

我是Qt和高级编程的新手。在我的项目中,我有一个QKeySequence快捷键 CTRL + PLUS CTRL + MINUS 键。它们在数字 PLUS MINUS 键中可以正常工作,但是,如果在用于德国和意大利键盘布局的OEM PLUS和MINUS键中使用它们,则不会触发所需的操作。我在带有KeyPressEvent()的简单程序中测试了它们,以打印调试消息,但仍然没有触发操作。我使用了nativeVirtualKey(),并且能够打印调试消息。我使用了Qt 5.5.0和5.5.1,并使用Windows屏幕键盘对其进行了测试。对于没有数字键的键盘,是否仍然可以在QKeySequence中使用 CTRL + + 快捷方式。

Qt Creator中还面临着同一问题的另一个观察结果。用于增加字体大小的 CTRL + PLUS 快捷键在德语键盘中不起作用,对于丹麦语键盘,它是 CTRL + MINUS < / kbd>无效。

QKeySequnce

const QKeySequence g_markerIncrease = QKeySequence(CTRL + Key_Plus);

这就是我使用nativevirtualkey()的方式:

if ( event->nativeVirtualKey() == 187 ) //virtualkeycode for Non numeric PLUS
{
    qDebug() << "message";
}

编辑1: 187是VK List

suggestion in Qt centre forum中VirtualKey十六进制值的整数值

0 个答案:

没有答案