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

相关推荐
StockTV7 小时前
印度股票实时数据 NSE和BSE的实时行情、K 线及指数数据
java·开发语言·spring boot·python
chaofan9807 小时前
GPT-5.5 领衔 Image 2.0:像素级控制时代,AI 绘图告别开盲盒
开发语言·人工智能·python·gpt·自动化·api
爱码小白8 小时前
Python 异常处理 完整学习笔记
开发语言·python
c++之路8 小时前
C++20概述
java·开发语言·c++20
芝士就是力量啊 ೄ೨8 小时前
Python如何编写一个简单的类
开发语言·python
逻辑驱动的ken8 小时前
Java高频面试考点18
java·开发语言·数据库·算法·面试·职场和发展·哈希算法
MoonBit月兔8 小时前
「Why MoonBit 」第一期——Singularity Note AI 学习助手
开发语言·人工智能·moonbit
木木_王9 小时前
嵌入式Linux学习 | 数据结构 (Day05) 栈与队列详解(原理 + C 语言实现 + 实战实验 + 易错点剖析)
linux·c语言·开发语言·数据结构·笔记·学习
冷雨夜中漫步9 小时前
Claude Code源码分析——Claude Code Agent Loop 详细设计文档
java·开发语言·人工智能·ai
超龄编码人9 小时前
Qt Widgets Designer QTabWidget无法添加布局
开发语言·qt