在制作自定义快捷键时发现中文的几个符号在Qt中没有对应的键值,那我怎么在程序中识别到这些按键
应该是一样的吧,这个不就是中文输入法下的吗。
¥:是shift+4 (英文是$)
……:是shift+6(英文是^)
//!@ # $ % ^ & * ( )
if ((key == Qt::Key_Exclam) || (key == Qt::Key_At) || (key == Qt::Key_NumberSign) || (key == Qt::Key_Dollar) || (key == Qt::Key_Percent) || (key == Qt::Key_AsciiCircum) || (key == Qt::Key_Ampersand) || (key == Qt::Key_Asterisk) || (key == Qt::Key_ParenLeft) || (key == Qt::Key_ParenRight)) {
if (newModifiers & Qt::ControlModifier) {
if (key == Qt::Key_Exclam) {
text = "Shift+Ctrl+1";
}
else if (key == Qt::Key_At) {
text = "Shift+Ctrl+2";
}
else if (key == Qt::Key_NumberSign) {
text = "Shift+Ctrl+3";
}
else if (key == Qt::Key_Dollar) {
text = "Shift+Ctrl+4";
}
else if (key == Qt::Key_Percent) {
text = "Shift+Ctrl+5";
}
else if (key == Qt::Key_AsciiCircum) {
text = "Shift+Ctrl+6";
}
else if (key == Qt::Key_Ampersand) {
text = "Shift+Ctrl+7";
}
else if (key == Qt::Key_Asterisk) {
text = "Shift+Ctrl+8";
}
else if (key == Qt::Key_ParenLeft) {
text = "Shift+Ctrl+9";
}
else if (key == Qt::Key_ParenRight) {
text = "Shift+Ctrl+0";
}
if (newModifiers & Qt::AltModifier) {
text = "Alt+" + text;
}
}
else {
text = "";
}
return text;
}