[英]can't handle QKeyEvent in Qt C++ when digit and number keys are pressed
我想在用户按下键盘键时做一些特定的事情。为此,我的程序中使用qt和C ++编写了以下代码:
//reimplemented keyPressEvent
// MyWindow inherits from QWidgets
void MyWindow::keyPressEvent(QKeyEvent *e)
{
if(e->key()== Qt::Key_3)
{
//do something
QApplication::exit(1);
std::cout << " presses\n";
}
}
但是此代码无法正常工作。
void MyWindow::keyPressEvent(QKeyEvent *e)
{
if(e->key()== Qt::Key_Escape)
{
QApplication::exit(1);
std::cout << " presses\n";
}
}
为什么会这样呢?
将qDebug() << e->key()
到方法的开头,然后确切地看到您得到的是:)。 最有可能的是,该窗口未获取事件,但当前聚焦的窗口小部件却获取了事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.