qt点击按钮弹出新的窗口
时间: 2023-07-12 09:06:38 浏览: 711
在 Qt 中,可以通过创建一个新的窗口类来实现点击按钮弹出新窗口的功能。具体步骤如下:
1. 在 Qt Creator 中创建一个新的窗口类,例如 MyDialog。
2. 在 MyDialog 类的构造函数中设置窗口的大小和标题等属性,并添加需要显示的控件。
3. 在主窗口中添加一个按钮控件。
4. 为按钮控件添加 clicked() 信号的槽函数,例如 on_pushButton_clicked()。
5. 在 on_pushButton_clicked() 槽函数中创建一个 MyDialog 类的对象,并显示该窗口。
代码示例如下:
```cpp
// MyDialog.h 文件
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include <QDialog>
namespace Ui {
class MyDialog;
}
class MyDialog : public QDialog
{
Q_OBJECT
public:
explicit MyDialog(QWidget *parent = nullptr);
~MyDialog();
private:
Ui::MyDialog *ui;
};
#endif // MYDIALOG_H
// MyDialog.cpp 文件
#include "MyDialog.h"
#include "ui_MyDialog.h"
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::MyDialog)
{
ui->setupUi(this);
setWindowTitle("My Dialog");
setFixedSize(300, 200);
}
MyDialog::~MyDialog()
{
delete ui;
}
// MainWindow.cpp 文件
#include "MainWindow.h"
#include "ui_MainWindow.h"
#include "MyDialog.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::on_pushButton_clicked);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
MyDialog dialog;
dialog.exec();
}
```
运行程序后,点击按钮即可弹出一个新的窗口。
阅读全文