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
C++ 我能用Qt检测QWERTY/AZERTY键盘吗?_C++_Qt_Keyboard - Fatal编程技术网

C++ 我能用Qt检测QWERTY/AZERTY键盘吗?

C++ 我能用Qt检测QWERTY/AZERTY键盘吗?,c++,qt,keyboard,C++,Qt,Keyboard,我想根据键盘类型设置一些快捷键,以便它始终是一行键(Q-W-E或a-Z-E)。这需要根据我知道的键盘类型对快捷键进行硬编码 是否可以使用Qt检索此信息?您可以使用 差不多 QApplication a(argc, argv); qDebug() << a.inputMethod()->locale(); QApplication a(argc、argv); qDebug()语言环境(); 或 qDebug()您可以使用 差不多 QApplication a(argc, ar

我想根据键盘类型设置一些快捷键,以便它始终是一行键(
Q-W-E
a-Z-E
)。这需要根据我知道的键盘类型对快捷键进行硬编码


是否可以使用Qt检索此信息?

您可以使用

差不多

QApplication a(argc, argv);
qDebug() << a.inputMethod()->locale();
QApplication a(argc、argv);
qDebug()语言环境();


qDebug()您可以使用

差不多

QApplication a(argc, argv);
qDebug() << a.inputMethod()->locale();
QApplication a(argc、argv);
qDebug()语言环境();


qDebug()有点离题:我习惯于在不同的键盘布局之间切换,如果根据布局快捷键不同,我会感到困惑。此外,这也会使使用不同布局的人很难谈论该程序。“我使用了XY快捷键”-“什么?在我的版本中没有这样的快捷键”@tobi303有时你可能想要强制一些组合键的布局。例如,在QWERTY键盘上,W、S、A和D键用作上、下、左、右键的游戏。对于AZERTY键盘,你希望保留布局并重新映射到Z、S、Q和D。本杰明:我称之为“快捷方式”,尽管我完全明白你的意思。我只是觉得总的来说,用ctrl+y替换eg ctrl+z是不好的,只是把键放在键盘上的同一个位置,不管OPs的情况是否例外,我都不知道know@tobi303我同意你的看法,这实际上取决于你的应用程序的使用。我正在为一个用户根本不会玩系统或键盘的应用程序工作,因此在我的情况下强制这样做是有意义的。有点离题:我习惯于在不同的键盘布局之间切换,如果根据布局,快捷键不同,我会感到困惑。此外,这也会使使用不同布局的人很难谈论该程序。“我使用了XY快捷键”-“什么?在我的版本中没有这样的快捷键”@tobi303有时你可能想要强制一些组合键的布局。例如,在QWERTY键盘上,W、S、A和D键用作上、下、左、右键的游戏。对于AZERTY键盘,你希望保留布局并重新映射到Z、S、Q和D。本杰明:我称之为“快捷方式”,尽管我完全明白你的意思。我只是觉得总的来说,用ctrl+y替换eg ctrl+z是不好的,只是把键放在键盘上的同一个位置,不管OPs的情况是否例外,我都不知道know@tobi303我同意你的看法,这实际上取决于你的应用程序的使用。我正在为一个应用程序工作,在这个应用程序中,用户根本不会玩系统或键盘,因此在我的情况下强制使用它是有意义的。因此,我应该将语言环境与使用QWERTY的语言+国家进行比较?我想这是可行的,但是如果你想在很多国家进行编辑,那就很难维持:AZERTY国家的列表基本上局限于法国,很少有自定义布局,所以我可以检查一下,把剩下的当成QWERTY。谢谢!我从来没有做过这样的事情,我只给了我一些提示,我能够像这样检测到我的azerty键盘
bool isAzerty=qApp->inputMethod()->locale().language()==QLocale::French
那么我应该将区域设置与使用QWERTY的语言+国家进行比较?我想这是可行的,但是如果你想在很多国家进行编辑,那就很难维持:AZERTY国家的列表基本上局限于法国,很少有自定义布局,所以我可以检查一下,把剩下的当成QWERTY。谢谢!我从来没有做过这样的事情,我只给了我一些提示,我能够像这样检测到我的azerty键盘
bool isAzerty=qApp->inputMethod()->locale().language()==QLocale::French