我想跟踪按下回车键的时间,然后将注意力集中在其他一些小部件上,但如果没有按下它,那么 spinbox 应该采取正常操作而不是其他任何操作。我将 QSpinBox 子类化并创建了受保护的 void keyPressEvent(QKeyEvent *event)。里面是这段代码:
void MytSpinBox::keyPressEvent(QKeyEvent *event) {
if (event->key() == Qt::Key_Return) {
qDebug() << "return pressed";
editingFinished();
} else {
qDebug() << "Other key";
event->accept();
}
}
这段代码应该可以工作,但不能。我不知道出了什么问题,但是当我专注于提升的 spinbox 并尝试更改其中的数字时,它就是行不通的,我只会打印调试消息。如果我按下回车键而不是打印调试消息并专注于我在editingFinished()中设置的其他一些小部件。
我究竟做错了什么?