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

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. 制作Jdk镜像

    本文介绍用Dockerfile的方式构建Jdk镜像,请保证安装了Docker环境. 首先创建/opt/jdk目录,后续步骤都在该目录下进行操作. 准备好Jdk安装文件,放到/opt/jdk目录下. 编 ...

  2. Centos编译加载toa模块

    什么是toa模块 toa模块是为了让后端的realserver能够看到真实的clientip而不是lvs的dip 安装步骤 安装依赖包 yum -y install kernel-devel gcc ...

  3. 忘记Linux密码这样破解

    忘记了Linux的密码该怎么办呢?有人想到重装系统.我想说除非你不想干了! 在这里使用CentOS7来教大家怎么 破解Linux的密码 (不能知道原来的密码,但是可以强行修改) 1.在grub引导界面 ...

  4. C#使用RegNotifyChangeKeyValue监听注册表更改的几种方式

    养成一个好习惯,调用 Windows API 之前一定要先看文档 RegNotifyChangeKeyValue 函数 (winreg.h) - Win32 apps | Microsoft Lear ...

  5. 【FAQ】HarmonyOS SDK 闭源开放能力 —Asset Store Kit

    1.问题描述 使用关键资产API需要配置SystemCapability.Security.Asset,但不知道syscap.json文件应该配置在哪里,文档也没找到. 解决方案 新增关键资产等API ...

  6. 使用bootchart 对 高通Android 进行性能分析

    使用bootchart 对 高通Android 进行性能分析 Android版本:7.0 适用平台:高通和MTK 参考: https://blog.csdn.net/qq_19923217/artic ...

  7. 小组合作实现的基于 jsp,servlet,mysql 编写的学校管理系统

    基本完成的页面--源代码在<文件>中可下载 文件地址:https://i.cnblogs.com/Files.aspx 学生管理模块各功能已实现 百度网盘下载地址: 链接:https:// ...

  8. CF414B

    这道题dp状态表示需要一点思维,而且会卡到时间复杂度 之前题主用的是试除法,时间复杂度为n^2.5,然后被卡了,但是换一种写法就是对的 #include <iostream> #inclu ...

  9. 2 手机号登录时,调的不是login接口,而是注册的一个接口

    手机号登录时,调的不是login接口,而是注册的一个接口

  10. Mysql实现主从复制(一主双从)

    一.环境介绍 LNMP(centos7,mysql5.6) vmware workstation pro配置了3个虚拟机,均安装了LNMP环境: master:  192.168.0.105 slav ...