我试图了解如何使用 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);
}
当暴力方法返回正确的值时,对事件使用修饰符()函数永远不会是真的。
我做错了什么?