QT中的各种对话框

目录

[1. 对话框的介绍](#1. 对话框的介绍)

[2. QDialog](#2. QDialog)

[2.1 demo1点击按钮弹出一个对话框](#2.1 demo1点击按钮弹出一个对话框)

[2.2 demo2自定义对话框](#2.2 demo2自定义对话框)

[2.3 demo2使用UI文件创建对话框](#2.3 demo2使用UI文件创建对话框)

[2.4 demo3模态与非模态的区别](#2.4 demo3模态与非模态的区别)

[3. 复合对话框](#3. 复合对话框)

[4. QMessageBox](#4. QMessageBox)

[4.1 demo1手动创建一个warning对话框](#4.1 demo1手动创建一个warning对话框)

[4.2 demo2使用QMessageBox中的静态函数快速创建对话框](#4.2 demo2使用QMessageBox中的静态函数快速创建对话框)

[5. QColorDialog](#5. QColorDialog)

[5.1 常⽤⽅法介绍:](#5.1 常⽤⽅法介绍:)

[5.2 demo1使用QColorDialog更改按钮的背景色](#5.2 demo1使用QColorDialog更改按钮的背景色)

[6. QFileDialog](#6. QFileDialog)

[6.1 常用方法介绍:](#6.1 常用方法介绍:)

[6.2 demo1常用方法的使用](#6.2 demo1常用方法的使用)

[7. QFontDialog](#7. QFontDialog)

[7.1 demo1通过字体选择器来修改标签的字体](#7.1 demo1通过字体选择器来修改标签的字体)


1. 对话框的介绍

对话框是 GUI 程序中不可或缺的组成部分。⼀些不适合在主窗⼝实现的功能组件可以设置在对话框中。对话框通常是⼀个顶层窗⼝,出现在程序最上层,⽤于实现短期任务或者简洁的⽤⼾交互。Qt常⽤的内置对话框有:QFiledialog (⽂件对话框)、QColorDialog (颜⾊对话框)QFontDialog (字体对话框)、QInputDialog (输⼊对话框)和 QMessageBox(消息框) 。


2. QDialog

Qt中使用QDialog作为对话框弹出与用户交互.

2.1 demo1点击按钮弹出一个对话框

1)初始化控件

2)弹出对话框逻辑

3)执行程序

2.2 demo2自定义对话框

1)创建一个类继承于QDialog

2)自定义对话框中的界面

3)使用按钮弹出自定义的对话框

4)执行程序

2.3 demo2使用UI文件创建对话框

1)创建对话框UI文件

2)设置UI文件

3)弹出对话框

3)执行程序

2.4 demo3模态与非模态的区别

Qt中的对话框又分为模态对话框与非模态对话框.

模态对话框:当前子窗口不作出决定关闭时无法操作父窗口,常用于一些必须由用户完成的操作.

非模态对话框:子窗口是否存在不影响父窗口的操作,上面的对话框就是基于非模态的.

对话框如果使用show显示就是非模态的,使用exec显示就是模态的.

1)创建模态与非模态对话框

2)执行程序


3. 复合对话框

Qt提供了多种可复⽤的对话框类型,即 Qt 标准对话框。Qt 标准对话框全部继承于 QDialog类。常⽤标准对话框如下:


4. QMessageBox

消息对话框是应⽤程序中最常⽤的界⾯元素。消息对话框主要⽤于为⽤⼾提⽰重要信息,强制⽤⼾进⾏选择操作。 QMessageBox类 中定义了静态成员函数,可以直接调⽤创建不同⻛格的消息对话框,其中包括:

4.1 demo1手动创建一个warning对话框

1)弹出对话框

2)执行程序

4.2 demo2使用QMessageBox中的静态函数快速创建对话框

1)创建QMessageBox

2)执行程序


5. QColorDialog

Qt中还有一个QColorDialog可以弹出一个调色板来让用户进行颜色选择.

5.1 常⽤⽅法介绍:

1、QColorDialog (QWidget *parent = nullptr)//创建对象的同时设置⽗对象
2、 QColorDialog(const QColor &initial, QWidget *parent = nullptr)//创建对象的同时通过QColor对象设置默认颜⾊和⽗对象
3、 void setCurrentColor(const QColor &color)//设置当前颜⾊对话框
4、QColor currentColor() const//获取当前颜⾊对话框
5、QColor getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions()) //打开颜⾊ 选择对话框,并返回⼀个QColor对象

参数说明: initial:设置默认颜⾊ parent:设置⽗对象 title:设置对话框标题 options:设置选项
6、void open(QObject *receiver, const char *member) //打开颜⾊对话框

5.2 demo1使用QColorDialog更改按钮的背景色

1)弹出对话框

2)执行程序


6. QFileDialog

通过QFileDialog来选择一个文件,可以获取到该文件的路径.

6.1 常用方法介绍:

1、打开⽂件(⼀次只能打开⼀个⽂件) QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
2、打开多个⽂件(⼀次可以打开多个⽂件)QStringList getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
3、 保存⽂件 QString getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())

6.2 demo1常用方法的使用

1)编写逻辑代码

2)执行程序

7. QFontDialog

Qt中可以通过QFontDialog来获取一个字体选择器.

7.1 demo1通过字体选择器来修改标签的字体

1)获取选中的字体及修改字体

2)执行程序

相关推荐
Scott9999HH2 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
码智社3 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海3 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖4 小时前
JDK 26 新特性详解
java·开发语言
马优晨5 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区6 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大7 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai7 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
এ慕ོ冬℘゜7 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa8 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio