19-Qt 中的标准对话框(上)

1. 标准对话框

  • QT 为开发者提供了一些可复用的对话框类型
  • QT 提供的可复用对话框全部继承自 QDialog 类

在这里插入图片描述

  • QT 中的标准对话框遵循相同的使用方式
// 定义对话框
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 中的实用函数
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 用于获取系统中的文件路径
发布了61 篇原创文章 · 获赞 31 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/105627891