当前位置:网站首页>QT学习日记9——对话框
QT学习日记9——对话框
2022-07-03 17:16:00 【herb.dr】
学习视频链接
目录
一、自定义对话框
1.1 模态对话框:
不可以对其他窗口进行操作
1.2 非模态对话框:
可以对其他的窗口进行操作
1.3 案例
下图是非模态对话框

在界面中打开窗口后,可以对原来的界面进行修改
模态对话框
运行弹窗的时候,函数阻塞在 dlg.exec(); 这行代码这里,点击 X 后,输出 QDebug

创建非模态对话框

函数是不会阻塞在 dlg2->show(); 这句话这里,因为防止一闪而过,所以创建到堆区
同时我们要注意,这个函数申请内存后,没有释放内存,可能后面会出现内存泄漏
我们需要在 X 掉窗口的时候顺便释放内存,加入中间那行代码

二、系统提供好的对话框
2.1 标准对话框
所谓标准对话框,是 Qt 内置的一系列对话框,用于简化开发。事实上,有很多对话框都是通用的,比如打开文件、设置颜色、打印设置等。这些对话框在所有程序中几乎相同,因此没有必要在每一个程序中都自己实现这么一个对话框
Qt 的内置对话框大致分为以下几类:
QColorDialog:选择颜色
FileDialog:选择文件或者目录
FontDialog:选择字体
QInputDialog:允许用户输入一个值,并将其值返回
QMessageBox:模态对话框,用于显示信息、询问问题等
QPageSetupDialog:为打印机提供纸张相关的选项
QPrintDialog:打印机配置
QPrintPreviewDialog:打印预览
ProgressDialog:显示操作过程
2.2 消息对话框

2.3 颜色对话框

点击OK以后,函数得到返回值,并且跳转进主窗口

注意:
1、2.2 和 2.3 的函数可以写在 connect 里面
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDialog>
#include <QDebug>
#include <QMessageBox>
#include <QColorDialog>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->actionnew, &QAction::trigger, [](){
// 警告对话框
// QMessageBox::warning(this, "warning", "警告");
// 其他标准对话框
// 颜色对话框
QColor color = QColorDialog::getColor(QColor(255, 0, 0));
qDebug() << "r = " << color.red() << " g = " << color.green() << " b = " << color.blue();
});
}
MainWindow::~MainWindow()
{
delete ui;
}2、 颜色对话框 QColor(255, 0, 0, 255) 还有第四个参数,默认是 255 也就是四个参数
2.4 文件对话框
传入参数:
this:父亲
...:标题
...:默认的打开路径
...:要打开的格式(过滤其他格式)
返回值:
Qstring、选择的文件路径
边栏推荐
- 人生还在迷茫?也许这些订阅号里有你需要的答案!
- 定义一个结构体Fraction,表示分数,用于表示 2/3, 5/6这样的分数
- Pools de Threads: les composants les plus courants et les plus sujets aux erreurs du Code d'affaires
- Design e-commerce spike
- 网络硬盘NFS的安装与配置
- 【RT-Thread】nxp rt10xx 设备驱动框架之--Pin搭建和使用
- Where is the database account used when running SQL tasks in data warehouse tasks configured
- 基于主机的入侵系统IDS
- [combinatorics] recursive equation (the problem of solving recursive equation with multiple roots | the problem is raised)
- Redis:关于列表List类型数据的操作命令
猜你喜欢
随机推荐
RedHat 6.2 configuring ZABBIX
How SVN views modified file records
Execute script unrecognized \r
[combinatorics] recursive equation (the problem of solving recursive equation with multiple roots | the problem is raised)
Simple configuration of postfix server
Pools de Threads: les composants les plus courants et les plus sujets aux erreurs du Code d'affaires
Collection of the most beautiful graduation photos in the graduation season, collection of excellent graduation photos
[2. Basics of Delphi grammar] 2 Object Pascal data type
Svn full backup svnadmin hotcopy
Build your own website (23)
【Try to Hack】主动侦查隐藏技术
Qt调节Win屏幕亮度和声音大小
【RT-Thread】nxp rt10xx 设备驱动框架之--Pin搭建和使用
PS screen printing brush 131, many illustrators have followed suit
Host based intrusion system IDS
Is AI too slow to design pictures and draw illustrations? 3 sets of practical brushes to save you
How to judge the region of an IP through C?
kubernetes资源对象介绍及常用命令(三)
How to allow remote connection to MySQL server on Linux system?
C language string practice
https://www.bilibili.com/video/BV1g4411H78N?spm_id_from=333.337.search-card.all.click&vd_source=0471cde1c644648fafd07b54e303c905








