QT基础-弹出框(信息框,模态框,操作框)

学习前端知识的时候就了解到让用户使用的界面一定要足够清晰,因为你永远不知道用户会以何种方式打开你开发的软件,所以莫泰提示框就很重要了。下面将会介绍几本的集中模态对话框,用来提升用户体验!

1、模态框

1、模态对话框

打开模态对话框之后该程序不可进行其他操作,只能操作当前弹出的模态对话框。阻塞状态。

// 模态对话框
#include "QDialog"
QDialog dig(this);
dig.resize(200,100);
dig.exec();
2、非模态对话框

相反,可以操作其他的对话框/界面。非阻塞

// 非模态对话框
QDialog *dig3 = new QDialog(this);
dig3->resize(200,100);  // 重置大小
dig3->setWindowTitle("打开我");
dig3->show();
dig3->setAttribute(Qt::WA_DeleteOnClose);  // 关闭对话框的时候删除堆区的dig2
3、错误对话框

提示出错!

QMessageBox::critical(this,"critical","错误");
4、信息对话框
QMessageBox::information(this,"info", "信息");
5、提问对话框

这个对话框有返回值,返回用户选择了什么!

//提问对话框
// 参数 父亲,标题,提示内容,关联案件类型,默认关联回车按键类型,
if(QMessageBox::Yes == QMessageBox::question(this,"提问","确定么???", QMessageBox::Yes|QMessageBox::No,QMessageBox::Yes))
{
	QMessageBox::information(this, "info", "你点了确定!!!");
}
else
{
	QMessageBox::information(this, "info", "你点了否定!!!");
}
6、警告对话框

发出警告!

QMessageBox::warning(this,"warning","警告");

2、其他对话框

1、颜色对话框

让用户选择颜色

QColor color = QColorDialog::getColor(QColor(255,0,0));
qDebug()<< color.red();
qDebug()<< color.green();
qDebug()<< color.blue();
2、文件对话框

让用户选择文件,可以返回文件路径

// 参数:父亲 标题 默认路径 文件类型
QString file = QFileDialog::getOpenFileName(this,"打开文件", "E:/","(*.rar)");
qDebug()<< file;
ui->textBrowser->setText(file);
3、字体对话框

让用户选择字体

bool flag;
QFont font = QFontDialog::getFont(&flag,QFont("微软雅黑", 32));
qDebug()<< "字体:" << font.family().toUtf8().data();// QString 转 char*
qDebug()<< "字号:" << font.pointSize();
qDebug()<< "是否斜体: "<< font.italic();
qDebug()<< "是否加粗:"<< font.bold();
ui->textBrowser->append("字体:");
ui->textBrowser->append(font.family().toUtf8().data());
ui->textBrowser->append("
");
ui->textBrowser->append("字号:");
ui->textBrowser->append(QString::number(font.pointSize()));

善用对话框,善待用户!

原文地址:https://www.cnblogs.com/Abraverman/p/15208768.html