一般对话框和QWidget看起来差别不大,不过还是有不同点的;
1.模态对话框,在模态对话框中,exec有自己的消息循环;并且把app的消息循环接管了;也就是当显示该对话框的时候不能去点击其它窗口部件;
2.如果Dialog通过exec来显示,那么可以通过accept或者reject来关闭窗口
如果Dialog通过show来显示,那么可以通过close来关闭窗口,这个和QWidget是一样的;
有许多的特殊dialog;打印预览,文件选择,messagebox, 颜色选择,字体选择,打印;//这些对话框都是系统的对话框
3.相同之处包括都可以在部件上面用QPainter画;
mydialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include <QDialog>
class MyDialog : public QDialog
{
Q_OBJECT
public:
explicit MyDialog(QWidget *parent = 0);
void paintEvent(QPaintEvent *);
QString _strDir;//打开的目录,如果是空的,那么打开当前项目所在文件夹
signals:
public slots:
void slotButtonClick();
};
#endif // MY

本文总结了Qt中的QDialog对话框,包括模态对话框的特点,如何使用exec和show方法,以及各种系统对话框如打印预览、文件选择等。此外,还列举了多个示例,如自定义对话框、文件保存和打开对话框、颜色和字体选择对话框,以及警告和询问对话框的使用。
最低0.47元/天 解锁文章
2984

被折叠的 条评论
为什么被折叠?



