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)执行程序

相关推荐
m0_736919109 小时前
C++中的委托构造函数
开发语言·c++·算法
lsx20240610 小时前
Python3 SMTP发送邮件教程
开发语言
懈尘10 小时前
从 Java 1.7 到 Java 21:逐版本深入解析新特性与平台演进
java·开发语言
凉辰10 小时前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
hello 早上好10 小时前
05_Java 类加载过程
java·开发语言
PPPPPaPeR.10 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
橙露10 小时前
Java并发编程进阶:线程池原理、参数配置与死锁避免实战
java·开发语言
froginwe1110 小时前
C 标准库 - `<float.h>`
开发语言
2501_9160088910 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
Dimpels11 小时前
CANN ops-nn 算子解读:AIGC 批量生成中的 Batch 处理与并行算子
开发语言·aigc·batch