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

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("\n");
ui->textBrowser->append("字号:");
ui->textBrowser->append(QString::number(font.pointSize()));

善用对话框,善待用户!

QT基础-弹出框(信息框,模态框,操作框)的更多相关文章

  1. 后盾网lavarel视频项目---页面post方式提交之后动态弹出错误信息

    后盾网lavarel视频项目---页面post方式提交之后动态弹出错误信息 一.总结 一句话总结: 1.思路和我想的一样,有错误的时候弹出提示错误消息的模态框就好,没有错误的时候不管它 2.把模态框的 ...

  2. JS 判断 Radio 单选按钮是否为选中状态 并弹出 值信息

    今天项目中所解决的问题:JS 判断 Radio 单选按钮是否为选中状态 并弹出 值信息,一开始总是获取不到 radio 的值,后来发现逻辑存在些问题,特此共享该代码留笔记 和 分享给遇到 这类问题的 ...

  3. 34.qt quick-Popup弹出窗口自定义

    1.Popup介绍 Popup是一个弹出窗口的控件它的常用属性如下所示: anchors.centerIn : Object,用来设置居中在谁窗口中. closePolicy : enumeratio ...

  4. Jquery和Javascript 实际项目中写法基础-弹出窗和弹出层 (4)

     一.实际项目中有很多如下界面效果.    二.该效果可以归结为弹出窗或者弹出层来实现的,为什么这么说?看如下代码:      <!DOCTYPE html> <html> & ...

  5. JavaScript判断 Radio 单选按钮是否为选中状态 并弹出 值信息

    今天在百度前端任务中遇到了一个以前没怎么注意的知识点,所以就准备记下来 <script type="text/javascript"> //判断个函数 以上 5 个Ra ...

  6. layui弹出层处理(获取、操作弹出层数据等)

    要点: 字符串被渲染为弹窗层之后,回自动转换为DOM,可以使用jq进行各种操作 <!DOCTYPE html> <html> <head> <meta cha ...

  7. Jquery实现遮罩层,就是弹出DIV周围都灰色不能操作

    <%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC & ...

  8. ios手机弹出层上表单的操作,收起键盘焦点错乱的问题

    今天遇到了ios手机下 弹出层上form表单 当收起键盘后,焦点错乱,无法再操作的问题 解决办法 function device() { const u = navigator.userAgent; ...

  9. JavaScript基础--小案例:在网页指定位置弹出错误信息(十二)

    案例分析:点击按钮后,在网页上指定区域,提示错误信息!5秒后,错误信息提示自动消失! <script languag="javascript" type="text ...

  10. datagrid点删除,弹出一个确认和取消的消息框

    有个简单的方法:在datagrid的删除按扭datagrid的属性生成器->列->添加按扭列->删除在数据字段中加上:<div id="de" onclic ...

随机推荐

  1. Lecture6

    Smiling & Weeping ---- 我渴望你的在场,又渴望你的缺席,你终究是我深藏的借口 第六章 GitFlow工作流实战 6.0 引言 在实际项目开发工作中,常常会有自测.联调.提 ...

  2. 【iOS】bugly进阶系列

    初学者使用bugly仅仅是用于接受崩溃日志,但是其实bugly除了接受崩溃之外还可以做许多事情.这里我把bugly分成三大模块逐一进行探讨. (其实bugly顶部的三个标题就预示着bugly的功能本来 ...

  3. Linux下挂载NTFS格式的U盘

    NTFS是Windows下的格式,在Linux下是识别不了的,要想在Linux上挂载NTFS格式的U盘需要安装软件以提供支持.软件名为ntfs-3g. 1.下载安装包 https://tuxera.c ...

  4. Prometheus监控系统(二)Prometheus部署与使用

    1. Prometheus安装 官网:https://prometheus.io/ 下载地址:https://prometheus.io/download/ Prometheus基于Golang编写, ...

  5. LAMP-CentOS7搭建Web服务器

    搭建LAMP Web服务器 在家中翻到了以前用的老电脑,在思索一番后,决定把这台电脑改造成一台Web服务器,作为我自己搭建博客的测试机器. 一.Linux服务器 LAMP中的L指的是Linux服务器, ...

  6. JSP快速上手与MVC模式和三层架构的知识点总结+综合案例

    阅读提示: 说明 由于JSP实在是太 难读 难写 复杂 占资源 难调试 不分离 了,拉跨!(节目效果哈,勿喷),作为一种有(ji)更(hu)好(jiu)的(yao)上(bei)位(tao)替(tai) ...

  7. 四 黑马程序员-java面向对象(上)

    一.:面向对象 (1)面向对象:是基于面向过程的一种思想. 面向过程:以函数为基础,关注实现过程. 面向对象:以对象为基础,关注实现结果. (2)面向对象的思想特点: A:是一种更符合人们思考习惯的思 ...

  8. 【算法】在vue3的ts代码中分组group聚合源数据列表

    有一个IList<any>()对象列表, 示例数据为[{id:'1',fieldName:'field1',value:'1'},{id:'1',fieldName:'field2',va ...

  9. 解决方案 | AutoCAD 版本+版本号+受支持的 .NET SDK版本+.NET Framework版本

    关于 Managed .NET 兼容性 Managed .NET 应用程序通常与扩展基于 AutoCAD 的产品的行为和功能的公司和第三方应用程序关联. 在移植到最新版本后,并非所有 .NET 应用程 ...

  10. 拥抱未来:GPT-4将如何改变我们的世界

    随着人工智能技术的迅猛发展,我们正迎来一个全新的智能时代.在这个时代的前沿,GPT-4作为开拓者和领航者,正在重新定义人机交互.创意创新和个性化服务的标准.无论是在商业领域.教育场景还是科研领域,GP ...