未检测到Qt键盘修改器shift键和其他按键
此if语句未执行。有人能指出这个问题吗 我正在尝试检测Qt keypress事件中的shift+h keypress。我正在使用Qt5.9 检测到键事件,但if语句的计算结果不为true 我无法将代码放入if语句中。我在Mac OS X el capitan上e->键无法处理大小写差异 如果在windows中使用e->key SHIFT+H和SHIFT+H By caps lock,则两者都是相同的 如果您想专门处理SHIFT+h小“h”,请使用e->text 通过应用CAPS LOCK,在Windows上测试以下内容:未检测到Qt键盘修改器shift键和其他按键,qt,c++11,qt5,Qt,C++11,Qt5,此if语句未执行。有人能指出这个问题吗 我正在尝试检测Qt keypress事件中的shift+h keypress。我正在使用Qt5.9 检测到键事件,但if语句的计算结果不为true 我无法将代码放入if语句中。我在Mac OS X el capitan上e->键无法处理大小写差异 如果在windows中使用e->key SHIFT+H和SHIFT+H By caps lock,则两者都是相同的 如果您想专门处理SHIFT+h小“h”,请使用e->text 通过应用CAPS LOCK,在Wi
if(e->modifiers() == Qt::ShiftModifier && e->key() == Qt::Key_H)
事件执行了吗?是的。。if语句不工作可能与Change ife->modifiers==Qt::ShiftModifier&&e->key==Qt::key\u H to ife->modifiers&Qt::ShiftModifier&&e->key==Qt::key\u Hdidnt工作重复。看起来这个ife->modifiers&Qt::KeyboardModifier::ShiftModifier&&e->key==Qt::key\u HIt实际上不起作用。我必须使用:ife->text==QString'H。谢谢你的建议。
if (e->modifiers() == Qt::ShiftModifier && e->text() == QString('h'))
{
QString str = e->text();
std::cout << str.toLatin1().data() << endl;
}