qt对话框功能介绍

1、颜色对话框

	//方式一
	QColor color = QColorDialog::getColor(Qt::red, this, QString::fromLocal8Bit("颜色对话框"),QColorDialog::ShowAlphaChannel);
	qDebug() <<"color:" <<color;

	//方式二
	QColorDialog dialog(Qt::red, this); // 创建对象
	dialog.setOption(QColorDialog::ShowAlphaChannel);   // 显示 alpha 选项
	dialog.exec();  // 以模态方式运行对话框
	QColor color = dialog.currentColor();   // 获取颜色对话框当前颜色
	qDebug() << "color:" << color;    // 输出颜色信息

2、文件对话框

	//注意:(* png * jpg)中间有空格
	QString fileName = QFileDialog::getOpenFileName(this, QString::fromLocal8Bit("文件对话框"), "C:", QString::fromLocal8Bit("图片文件(* png * jpg);;文本文件(* txt)"));
	qDebug() << "fileName:" << fileName;

	QStringList fileNames = QFileDialog::getOpenFileNames(this, QString::fromLocal8Bit("文件对话框"), "C:", QString::fromLocal8Bit("图片文件(* png * jpg);;文本文件(* txt)"));
	qDebug() << "fileNames:" << fileNames;

	QString saveFileName = QFileDialog::getSaveFileName(this, QString::fromLocal8Bit("Save File"), QString::fromLocal8Bit("Images (*.png *.xpm *.jpg)"));
	qDebug() << "saveFileName:" << saveFileName;

	QString dir = QFileDialog::getExistingDirectory(this, QString::fromLocal8Bit("Open Directory"), "C:", QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
	qDebug() << "dir:" << dir;

3、字体对话框

	bool ok;
	QFont font = QFontDialog::getFont(&ok, this);
	// 如果单击 Cancel 按钮,那么更改字体
	if (ok)
		ui.pushButton_font->setFont(font);
	else
		qDebug() << QString::fromLocal8Bit("没有选择字体!");

4、输入对话框

	bool ok;

	// 获取字符串
	QString string = QInputDialog::getText(this, QString::fromLocal8Bit("输入字符串对话框"), QString::fromLocal8Bit("请输入用户名:"), QLineEdit::Normal, QString::fromLocal8Bit("admin"), &ok);
	if (ok)
		qDebug() << "string:" << string;

	// 获取整数
	int value1 = QInputDialog::getInt(this, QString::fromLocal8Bit("输入整数对话框"), QString::fromLocal8Bit("请输入 -1000到1000之间的数值"), 100, -1000, 1000, 10, &ok);
	if (ok)
		qDebug() << "value1:" << value1;

	// 获取浮点数
	double value2 = QInputDialog::getDouble(this, QString::fromLocal8Bit("输入浮点数对话框"), QString::fromLocal8Bit("请输入-1000到1000之间的数值"), 0.00, -1000, 1000, 2, &ok);
	if (ok) qDebug() << "value2:" << value2;

	// 获取条目
	const QStringList items = { "aa", "bb" };
	QString item = QInputDialog::getItem(this, QString::fromLocal8Bit("输入条目对话框"), QString::fromLocal8Bit("请选择或输入一个条目"), items, 0, true, &ok);
	if (ok) qDebug() << "item:" << item;

5、消息对话框

	// 问题对话框
	int ret1 = QMessageBox::question(this, QString::fromLocal8Bit("问题对话框"), QString::fromLocal8Bit("问题对话框"), QMessageBox::Yes, QMessageBox::No);
	if (ret1 == QMessageBox::Yes)
		qDebug() << QString::fromLocal8Bit("问题!");

	// 提示对话框
	int ret2 = QMessageBox::information(this, QString::fromLocal8Bit("提示对话框"), QString::fromLocal8Bit("提示对话框"), QMessageBox::Ok);
	if (ret2 == QMessageBox::Ok)
		qDebug() << QString::fromLocal8Bit("提示!");

	// 警告对话框
	int ret3 = QMessageBox::warning(this, QString::fromLocal8Bit("警告对话框"), QString::fromLocal8Bit("警告对话框"), QMessageBox::Abort);
	if (ret3 == QMessageBox::Abort)
		qDebug() << QString::fromLocal8Bit("警告!");

	// 错误对话框
	int ret4 = QMessageBox::critical(this, QString::fromLocal8Bit("严重错误对话框"), QString::fromLocal8Bit("严重错误对话框"), QMessageBox::YesAll);
	if (ret4 == QMessageBox::YesAll)
		qDebug() << QString::fromLocal8Bit("错误");

	// 关于对话框
	QMessageBox::about(this, QString::fromLocal8Bit("关于对话框"), QString::fromLocal8Bit("关于对话框"));

6、进度对话框

	QProgressDialog dialog(QString::fromLocal8Bit("文件进度"), QString::fromLocal8Bit("取消"), 0, 50000, this);
	dialog.setWindowTitle(QString::fromLocal8Bit("进度对话框"));
	dialog.setWindowModality(Qt::WindowModal);  // 将对话框设置为模态
	dialog.show();

	for (int i = 0; i < 50000; i++)
	{
		dialog.setValue(i);
		QCoreApplication::processEvents();// 避免界面冻结
		if (dialog.wasCanceled()) // 按下取消按钮则中断
			break;
	}

	dialog.setValue(50000);
	qDebug() << QString::fromLocal8Bit("结束!");

7、错误信息对话框

	QErrorMessage *errordlg = new QErrorMessage(this);;

	errordlg->setWindowTitle(QString::fromLocal8Bit("错误信息对话框"));
	errordlg->showMessage(QString::fromLocal8Bit("这里是出错信息!"));

8、向导对话框

QWizardPage * createPage1()  // 向导页面1
{
	QWizardPage *page = new QWizardPage;
	page->setTitle(QString::fromLocal8Bit("介绍"));
	return page;
}

QWizardPage * createPage2()  // 向导页面2
{
	QWizardPage *page = new QWizardPage;
	page->setTitle(QString::fromLocal8Bit("用户选择信息"));
	return page;
}

QWizardPage * createPage3()  // 向导页面3
{
	QWizardPage *page = new QWizardPage;
	page->setTitle(QString::fromLocal8Bit("结束"));
	return page;
}
void Dialogs::slotBtnWizard()
{
	QWizard wizard(this);
	wizard.setWindowTitle(QString::fromLocal8Bit("向导对话框"));
	wizard.addPage(createPage1());     // 添加向导页面
	wizard.addPage(createPage2());
	wizard.addPage(createPage3());
	wizard.exec();
}

相关推荐

  1. qt对话框功能介绍

    2024-05-01 18:34:05       7 阅读
  2. Qt对话框介绍

    2024-05-01 18:34:05       18 阅读
  3. Qt对话框

    2024-05-01 18:34:05       37 阅读
  4. Qt标准对话框设置

    2024-05-01 18:34:05       29 阅读
  5. Qt对话框使用指南

    2024-05-01 18:34:05       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-01 18:34:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-01 18:34:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-01 18:34:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-01 18:34:05       20 阅读

热门阅读

  1. 2024年五一数学建模竞赛赛题浅析-助攻快速选题

    2024-05-01 18:34:05       12 阅读
  2. 学习mysql相关知识记录

    2024-05-01 18:34:05       11 阅读
  3. 大模型LoRA微调调参的实战技巧

    2024-05-01 18:34:05       15 阅读
  4. 在编程中,方法和函数都是什么意思

    2024-05-01 18:34:05       14 阅读
  5. C语言创建文件夹和多级目录

    2024-05-01 18:34:05       14 阅读
  6. DB-GPT源码阅读1-数据库表读取

    2024-05-01 18:34:05       13 阅读
  7. 2024 c/c++A组填空第一题--选择与篮球

    2024-05-01 18:34:05       11 阅读
  8. 网络安全思考题

    2024-05-01 18:34:05       8 阅读
  9. 自动化测试——Selenium

    2024-05-01 18:34:05       11 阅读
  10. C++临时对象的产生及优化

    2024-05-01 18:34:05       9 阅读