//主对话框头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include#include class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); QDialog dlg; }; #endif // MAINWINDOW_H //主对话框源文件 #include "mainwindow.h" #include #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { this->resize(800,800); QMenuBar *mBar = menuBar(); setMenuBar(mBar); QMenu *menu = mBar->addMenu(QStringLiteral("对话框")); QAction *p1 = menu->addAction(QStringLiteral("模态对话框")); connect(p1,&QAction::triggered, [=]() { QDialog dlg1; dlg1.exec(); qDebug()<<"11111"; } ); QAction *p2 = menu->addAction(QStringLiteral("非模态对话框")); connect(p2,&QAction::triggered, [=]() { //方法一 dlg.show(); // //方法二 // QDialog *p = new QDialog(this);//指定父对象,跟父对象一起释放 // p->show(); // //方法三 // QDialog *p1 = new QDialog; // p1->setAttribute(Qt::WA_DeleteOnClose); // p1->show(); } ); } MainWindow::~MainWindow() { }



