Предотвращение нажатия клавиши Enter от нажатия OK в QButtonBox, в частности QLineEdit QButtonBox - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть диалог, в котором есть некоторые виджеты, такие как QComboBox, QSpinBox и некоторые QLineEdit.В нижней части виджета у меня есть QButtonBox.Нажатие ввода в любом из виджетов вызовет слот accepted() для QButtonBox.Однако я хотел бы отключить это автоматическое действие в одном из QLineEdits.Таким образом, нажатие клавиши Enter в одном из QLineEdit не вызовет слот accepted() для QButtonBox.Как я могу это сделать?

1 Ответ

2 голосов
/ 13 апреля 2011

Я предлагаю вам установить 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;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...