Qt 防止Enter键触发QButtonBox中的OK,特别是QLineEdit QButtonBox
我有一个对话框,其中有一些小部件,如Qt 防止Enter键触发QButtonBox中的OK,特别是QLineEdit QButtonBox,qt,Qt,我有一个对话框,其中有一些小部件,如QComboBox,QSpinBox和一些QLineEdit。在小部件的底部,我有一个QButtonBox。在任何一个小部件中单击enter将触发QButtonBox的accepted()插槽。但是,我想在其中一个QLineEdits中禁用此自动操作。因此,在其中一个QLineEdit中按Enter键不会触发QButtonBox的accepted()插槽。我该怎么做呢?我建议您安装一个。比如: bool FilterObject::eventFilter(Q
QComboBox
,QSpinBox
和一些QLineEdit
。在小部件的底部,我有一个QButtonBox
。在任何一个小部件中单击enter将触发QButtonBox
的accepted()
插槽。但是,我想在其中一个QLineEdits
中禁用此自动操作。因此,在其中一个QLineEdit
中按Enter
键不会触发QButtonBox
的accepted()
插槽。我该怎么做呢?我建议您安装一个。比如:
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;
}
bool FilterObject::eventFilter(QObject*object,QEvent*event)
{
if(object==target&&event->type()==QEvent::KeyPress){
QKeyEvent*keyEvent=静态广播(事件);
如果(keyEvent->key()==Qt::key\u Enter){
//特殊密钥处理
返回true;
}否则
返回false;
}
返回false;
}