1. 标准对话框
- QT 为开发者提供了一些可复用的对话框类型
- QT 提供的可复用对话框全部继承自 QDialog 类
// 定义对话框
DialogType dlg(parent);
// 设置对话框属性
dlg.setPropertyXXX(value);
// 判断对话框返回值
if(dlg.exec() == DialogType::value)
{
// 获取对话框属性
Type v = dlg.getDialogValue();
// 处理对话框数据
// ...
}
2. 消息对话框
- 消息对话框是应用程序中最常见的界面元素
- 消息对话框主要用于:
// 构造消息对话框对象
QMessageBox msg(parent);
// 设置消息对话框的相关属性
msg.setWindowTitle("Message Title");
msg.setText("This is message content!");
msg.setIcon(QMessageBox::Information);
msg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
if( msg,exec() == QMessageBox::Ok)
{
//处理操作
}
QMessageBox::question
QMessageBox::information
QMessageBox::warning
QMessageBox::critical
QMessageBox::about
QMessageBox 代码示例地址
3. 文件对话框
- 文件对话框常用于以下情形
- Open Mode:应用程序汇总需要用户打开一个外部的文件
- Save Mode:应用程序中需要将当前内容存储于用户指定的外部文件中
- 文件对话框使用方式
QFileDialog fd(parent);
// save mode: QFileDialog::AcceptOpen
fd.setAcceptMode(QFileDialog::AcceptOpen);
// multi-selecion: QFileDialog::ExistingFiles
fd.setFileMode(QFileDialog::ExistingFile);
if( fd.exec() == QFileDialog::Accepted )
{
QStringList fs = fd.selectedFiles();
// process variable fs
}
- 可以使用文件过滤器对文件类型进行过滤
- QFileDialog 中的实用函数
QFileDialog::getOpenFileName
QFileDialog::getOpenFileNames
QFileDialog::getSaveFileNames
QFileDialog 代码演示示例
4. 总结
- QT 中提供了多个可复用的对话框类型,继承于 QDialog 类型,遵循相同的使用方式
- QMessageBox 用于提示重要的程序信息
- QFileDialog 用于获取系统中的文件路径