qt点击弹出新窗口
时间: 2023-07-12 13:11:32 浏览: 172
PyQt5点击按钮弹出自定义窗口 创建新窗口
5星 · 资源好评率100%
在Qt中,可以使用QDialog类来实现弹出新窗口的功能。以下是一个简单的示例:
1. 首先,创建一个新的QDialog类,例如MyDialog。
2. 在MyDialog的构造函数中,设置对话框的大小、标题和其他属性。
3. 在需要弹出新窗口的地方,创建一个MyDialog对象并调用exec()函数来显示对话框。
下面是一个示例代码:
```
// MyDialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include <QDialog>
class MyDialog : public QDialog
{
Q_OBJECT
public:
MyDialog(QWidget *parent = nullptr);
};
#endif // MYDIALOG_H
// MyDialog.cpp
#include "MyDialog.h"
MyDialog::MyDialog(QWidget *parent)
: QDialog(parent)
{
setFixedSize(200, 200);
setWindowTitle("New Window");
}
// MainWindow.cpp
#include "MainWindow.h"
#include "MyDialog.h"
#include <QPushButton>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QPushButton *btn = new QPushButton("Open Dialog", this);
connect(btn, &QPushButton::clicked, this, [](){
MyDialog dialog;
dialog.exec();
});
}
```
在这个示例中,我们在MainWindow类的构造函数中创建了一个QPushButton对象,并连接了它的clicked信号到一个lambda表达式。在lambda表达式中,我们创建了一个MyDialog对象并调用exec()函数来显示对话框。当用户关闭对话框时,exec()函数会返回,程序继续执行。
阅读全文