一、对话框(Dialog)
1. 创建对话框
① 项目中新创建文档
② 选择模板为Dialog...
③ 在槽函数中创建自定义对话框的对象,在堆空间中创建,可以依托于某个父组件
④ 使用show函数显示
2. 模态和非模态对话框
Ø 模态对话框:即在没有关闭之前,不能再与同一个应用程序的其它窗口进行交互,比如新建项目时弹出的对话框。
dialog->setModal(true);
Ø 非模态对话框:可以在同一程序中与他交互,如查找替换对话框,默认的对话框为非模态。
dialog->setModal(false);
3. QT自带标准对话框
(1) 标准文件对话框 QFileDialog类
打开标准文件对话框并返回用户选中的文件
QString QFileDialog::getOpenFileName
(
QWidget* parent = 0, //标准文件对话框的父窗口
const QString& caption = QString(), //标准文件对话框的标题名
const QString& dir = QString(), //指定默认的目录,若此处有文件,则文件将是默认选中的文件
const QString& filter = QString(), //过滤器,名称+(),括号里是文件的过滤规则,如*.c,多过滤器之间用;;隔开,默认是无过滤
QString* selectFilter = QString(), //用户选中的参数4中的过滤器将通过参数5返回
Options option = 0 //选择显示文件名的格式,默认是显示目录和文件名
);
(2) 标准颜色对话框 QColorDialog类
QColor getColor
(
const QColor &initial = Qt::white, //默认选中的颜色
QWidget *parent = 0, //父窗口
const QString &title = QString(), //标题名
ColorDialogOptions options = 0 //参数
);
(3) 标准字体对话框 QFontDialog类
QFont getFont(
bool *ok, //用户是否选择确定
const QFont &initial, //默认字体
QWidget *parent = 0, //父窗口
const QString &title = QString(), //标题
FontDialogOptions options = 0 //参数
);
(4) 标准输入对话框 QInputDialog类
① 标准字符串输入对话框
QString getText(
QWidget *parent, //父窗口
const QString &title, //标题
const QString &label, //输入提示
QLineEdit::EchoMode echo = QLineEdit::Normal, //QLineEdit 输入模式