我有QtInputDialog并且我不喜欢它,当我按下输入它关闭。
我想键入值并按键盘上的Enter确认。该行编辑重置后,我可以键入另一个值。
答案 0 :(得分:1)
对话初始化:
void MainWindow::on_button1_clicked() {
dialog = new QInputDialog();
dialog->installEventFilter(this);
dialog->show();
}
事件过滤器:
bool MainWindow::eventFilter(QObject *o, QEvent *e) {
if (e->type() == QEvent::KeyPress) {
if (static_cast<QKeyEvent*>(e)->matches(QKeySequence::InsertParagraphSeparator)) {
qDebug() << dialog->textValue(); //use this value as you wish
dialog->setTextValue(QString());
return true; //block this event
}
}
return false;
}
请注意,仍然可以通过鼠标单击&#34;确定&#34;。
来关闭对话框