我有一个Dialog,其中包含一些小部件,例如QComboBox
,QSpinBox
和一些QLineEdit
。在窗口小部件的底部,我有一个QButtonBox
。单击任何一个小部件中的Enter将触发accepted()
的{{1}}位置。但是,我想在其中一个QButtonBox
中禁用此自动操作。因此,在其中一个QLineEdits
中按Enter
键不会触发QLineEdit
的{{1}}个广告位。我怎么能这样做?
答案 0 :(得分:2)
我建议您安装EventFilter。类似的东西:
bool FilterObject::eventFilter(QObject *object, QEvent *event)
{
if (object == target && event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if (keyEvent->key() == Qt::Key_Enter) {
// Special key handling
return true;
} else
return false;
}
return false;
}