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

相关推荐
郑州光合科技余经理2 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1232 天前
matlab画图工具
开发语言·matlab
dustcell.2 天前
haproxy七层代理
java·开发语言·前端
norlan_jame2 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone2 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ4022054962 天前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
遥遥江上月2 天前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
m0_531237173 天前
C语言-数组练习进阶
c语言·开发语言·算法
Railshiqian3 天前
给android源码下的模拟器添加两个后排屏的修改
android·开发语言·javascript
雪人不是菜鸡3 天前
简单工厂模式
开发语言·算法·c#