我试图了解如何使用Qt处理各种事件,并发现了一个我无法理解的关键修饰符Ctrl Shift Alt等问题.我在Qt Creator中创建了一个默认的Qt GUI应用程序,扩展了QMainWindow并且发现以下示例不会产生可理解的结果.
void MainWindow::keyPressEvent(QKeyEvent *event)
{
qDebug() << "Modifier " << event->modifiers().testFlag(Qt::ControlModifier);
qDebug() << "Key " << event->key();
qDebug() << "Brute force " << (event->key() == Qt::Key_Control);
}
Run Code Online (Sandbox Code Playgroud)
当暴力方法返回正确的值时,对事件使用modifiers()函数永远不会成立.
我做错了什么?