我想跟踪按下输入/返回键的时间,然后关注其他一些小部件,但如果没有按下,则旋转框应该采取正常操作而不是其他任何操作 . 我已经将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()中设置的其他小部件 .
我究竟做错了什么?
1 回答
如果需要调用事件的默认处理,则需要调用基类实现: