一般按回车键执行了某个按钮,如果按钮正好为关闭按钮,就会关闭当前界面
当焦点在ui.pushButton这个按钮上的时候,按下回车,该按钮就发射clicked()信号。
解决方法:
方法一:
ui.pushButton->setFocus(); //设置默认焦点
ui.pushButton->setDefault(); //设置默认按钮,设置了这个属性,当用户按下回车的时候,就会按下该按钮
方法二:
重写当前类的的键盘事件
void MainWindow::keyPressEvent(QKeyEvent *event){
switch (event->key()) {
case Qt::Key_Return:
case Qt::Key_Enter:
{
do_something();
}
break;
default:
break;
}
}
方法三:
连接回车触发的信号与动作
当用户编辑好信息后按回车就会触发界面上的某个按钮的信号,代码实现如下:
在Qt的UI设计师中设置了两个控件QLineEdit 和 QPushButton;
connect(ui.lineEdit, SIGNAL(returnPressed()), ui.pushButton, SIGNAL(clicked()), Qt::UniqueConnection);
当编辑QLineEdit控件中的信息后按回车就会触发QPushButton的信号clicked()。