Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用qkeyevent获取qt中的shift+数字键_Qt_Qkeyevent - Fatal编程技术网

使用qkeyevent获取qt中的shift+数字键

使用qkeyevent获取qt中的shift+数字键,qt,qkeyevent,Qt,Qkeyevent,我使用QKeyEvent来获取Shift+数字键,但它会为我返回ascii!所以我的问题是,是否有任何方法或技术可以获得实际数值的ascii而不是ascii!个性。我也遵循了这个思路: 但这似乎无助于我摆脱这个问题。提前谢谢 我相信至少从4.8版开始,还没有标准的方法来获取数字ascii值。您可以尝试与链接的线程类似的蛮力方法 if (e->modifiers() & Qt::ShiftModifier) { switch(e->text()) { c

我使用QKeyEvent来获取Shift+数字键,但它会为我返回ascii!所以我的问题是,是否有任何方法或技术可以获得实际数值的ascii而不是ascii!个性。我也遵循了这个思路:


但这似乎无助于我摆脱这个问题。提前谢谢

我相信至少从4.8版开始,还没有标准的方法来获取数字ascii值。您可以尝试与链接的线程类似的蛮力方法

if (e->modifiers() & Qt::ShiftModifier) {
    switch(e->text()) {
        case '!': 
            trans_key = '1';
        break;
    }
}

如果按键发生变化,会怎么样?因为不同的国家有不同的键盘按键?我没有其他键盘布局的经验,但一种可能的方法是使用QApplication::,获取键盘布局的区域设置,这将返回QLocale对象,然后针对每个应用程序支持的布局分别进行处理。感谢ajith花费您的所有时间。可能很晚了,但我刚刚发布了一个类似问题的答案,可能会对您有所帮助: