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

相关推荐
用户805533698033 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner3 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz8 天前
QML Hello World 入门示例
qt
xcyxiner11 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner12 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner12 天前
DicomViewer (添加模型类)3
qt
xcyxiner13 天前
DicomViewer (目录调整) 2
qt
xcyxiner13 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
LDR00615 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术15 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript