QT中将pushbutton点击事件与键盘回车事件写在一起
时间: 2023-11-22 20:53:05 浏览: 123
可以使用Qt的信号槽机制,将QPushButton的clicked信号与QLineEdit的returnPressed信号连接起来,这样无论是点击按钮还是按下回车键,都会执行相同的操作。
以下是一个示例代码:
```cpp
#include <QtWidgets>
class Widget : public QWidget {
public:
Widget(QWidget *parent = nullptr) : QWidget(parent) {
QHBoxLayout *layout = new QHBoxLayout(this);
QLineEdit *lineEdit = new QLineEdit(this);
QPushButton *button = new QPushButton("OK", this);
layout->addWidget(lineEdit);
layout->addWidget(button);
connect(button, &QPushButton::clicked, this, &Widget::onButtonClicked);
connect(lineEdit, &QLineEdit::returnPressed, button, &QPushButton::click);
}
private slots:
void onButtonClicked() {
qDebug() << "Button clicked or Enter pressed";
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
Widget widget;
widget.show();
return app.exec();
}
```
在上面的代码中,我们创建了一个包含一个QLineEdit和一个QPushButton的窗口。我们将QPushButton的clicked信号连接到了Widget类的onButtonClicked槽函数中,同时将QLineEdit的returnPressed信号连接到了QPushButton的click函数中。这样当我们点击按钮或者在QLineEdit中按下回车键时,都会执行onButtonClicked槽函数中的代码。