Qt 中使用 QDialog
类实现对话框,通常是设计一个类继承 QDialog
。Qt 的对话框分为模态对话框和非模态对话框,即阻塞和非阻塞对话框,而模态对话框又有两种:应用程序级别的和窗口级别的,分别指完成对话框之前阻塞整个应用和阻塞关联窗口。
QDialog dialog;
dialog.setWindowTitle(tr("dialog"));
dialog.exec();
// dialog.open();
// dialog.show();
上述代码中 exec()
和 open()
分别为应用程序级别和窗口级别的模态对话框,show()
则为非模态对话框。
建立在堆上加父窗口指针来自动销毁,setAttribute()
可设置对话框关闭时自动销毁对话框,QObject
的 deleteLater()
可在事件循环结束时销毁对话框(需要使用 exec()
开始事件循环)。
网友评论