7.1 QDialog 类

QDialog 类是对话框窗口的基类。对话框窗口是一个顶级窗口,通常用作短期任务,或 者是与用户的简短会话等场合。对话框可以分为模态对话框和非模态对话框。使用 QDialog 或其子类创建的对话框窗口通常都有一个返回值,有时候还包含了一些默认的按钮。一般情 况下,对话框窗口在其右下角都有一个用于控制其大小的伸缩手柄,在 Qt 应用程序中,这 一般可以通过调用 setSizeGripEnabled()方法来实现。

QDialog 是所有对话框类的基类,它继承自 QWidget,它的子类 有 QAbstractPrintDialog,QColorDialog,QErrorMessage, QFileDialog, QFontDialog,QInputDialog,QMessageBox, QPageSetupDialog,QPrintPreviewDialog,QProgressDialog,QWizard,以及来自 Qt3 的 Q3FileDialog,Q3ProgressDialog,Q3TabDialog,Q3Wizard。图 7-1 示意了 QDialog 及其 子类的继承关系。

图 7-1 QDialog 类继承关系图

表 7-1 列举了 QDialog 子类的用途。

表 7-1 QDialog 子类说明

子类名 用途
QAbstractPrintDialog 提供打印机配置对话框的基本实现对话框
QColorDialog 提供指定窗体颜色的对话框
QErrorMessage 提供“错误提示”对话框
QFileDialog 提供选择文件或目录的对话框
QFontDialog 提供指定窗体的文字字体对话框
QInputDialog 提供标准输入对话框,可以方便的输入各种值
QMessageBox 提供一个模态对话框用于提示用户信息或要求用户回答问题
QPageSetupDialog 提供一个用于打印机页面设置的对话框
QPrintPreviewDialog 提供一个预览和调整打印机页面布局的对话框
QProgressDialog 提供一个长进程操作的进度回馈对话框
QWizard 提供一个“向导程序”的框架

在实际应用中,我们经常会用到 QColorDialog、QFileDialog、QInputDialog、 QMessageBox 等这些内置的标准对话框,在第 7.5 节里面我们将通过实例具体讲解它们的使 用要领。