Qt5创建模态和非模态对话框

时间:2023-02-09 22:31:19

1.模态对话框创建:

  第一种方法:

QDialog dialog(this);
dialog.exec();

  this为该对话框的父窗口。

  第二种方法:

QDialog *dialog = new QDialog(this);
dialog->setModel(Qt::ApplicationModel);
dialog->show();

  其中setModel()参数有三种:Qt::NonModel,不阻塞任何窗口,即非模态对话框;Qt::WindowModel,阻塞其所有祖先窗口以及妻子窗口;Qt::ApplicationModel,阻塞整个应用程序窗口。

2.非模态对话框创建:

QDialog *dialog = new QDialog(this);
dialog->show();

  记住要制定其父窗口,否则要手动释放内存。