【Qt】:对话框(二)

server/2024/10/20 4:06:51/

对话框

  • 一.消息对话框(QMessageBox)
    • 1.自己构建
    • 2.使用静态函数构建
  • 二.颜色对话框(QDialog)
  • 三.文件对话框(QFileDialog)
  • 四.字体对话框(QFontDialog)
  • 五.输入对话框(QInputDialog)

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

在这里插入图片描述

一.消息对话框(QMessageBox)

消息对话框是应用程序中最常用的界面元素。消息对话框主要用于为用户提示重要信息,强制用户进行选择操作。

1.自己构建

QMessageBox自己内置了一些图标和按钮,我们可以直接使用。

在这里插入图片描述

在这里插入图片描述

除了上述的一些内置按钮,也可以自定义按钮。在进行addButton操作时,第二个参数代表该按钮的角色。例如:设置AcceptRole就代表接受,之后就可以通过信号槽进行更进一步的设定。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

但实际上像标准按钮,是无法使用connect进行连接的,所以我们可以通过exec函数的返回值,直接获取点击的是哪个按钮。它的返回值就是标准按钮的枚举。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.使用静态函数构建

QMessageBox类中定义了静态成员函数,可以直接调用创建不同风格的消息对话框,其中包括:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二.颜色对话框(QDialog)

颜色对话框的功能是允许用户选择颜色。继承自QDialog类。颜色对话框如下图示:

在这里插入图片描述

这个类是QDialog的子类,当然可以使用exec进行显示,但更多的情况下,我们都使用它的专属方法。

  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对象
    在这里插入图片描述

  6. voidopen(QObjectreceiver,constcharmember)//打开颜⾊对话框

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三.文件对话框(QFileDialog)

文件对话框用于应用程序中需要打开一个外部文件或需要将当前内容存储到指定的外部文件。常用方法介绍:

1、打开文件(一次只能打开一个文件)

QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), constQString &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(), constQString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr,QFileDialog:Options options = Options())

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意,这里只是单纯的打开/保存文件,具体的功能实现还需要之后的代码。

四.字体对话框(QFontDialog)

Qt中提供了预定义的字体对话框类QFontDialog,⽤于提供选择字体的对话框部件。使用方法与上面的大同小异,就不再赘述了。

在这里插入图片描述

在这里插入图片描述

五.输入对话框(QInputDialog)

Qt中提供了预定义的输⼊对话框类:QInputDialog,⽤于进⾏临时数据输⼊的场合。

1、双精度浮点型输入数据对话框

double getDouble (Qwidget *parent, const Qstring &title, const Qstring&label, doublevalue =0, double min =-2147483647, double max= 2147483647, int decimals = 1, bool *ok= nullptr, Qt::WindowFlags flags = Qt::WindowFlags());

2、整型输入数据对话框

int getInt (QWidget*parent, const Qstring &title, const Qstring &label, int value = 0, intmin =-2147483647, int max= 2147483647, int step =1, bool *ok=nullptr, Qt:WindowFlagsflags = Qt::WindowFlags());

3、选择条目型输入数据框

QString getltem (QWidget *parent, const Qstring &title, const Qstring &label, constQStringList &items, int current= 0, bool editable = true, bool*ok = nullptr,Qt:WindowFlags flags = Qt::WindowFlags(), Qt::lnputMethodHints inputMethodHints =Qt::lmhNone);

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/server/4966.html

相关文章

(007)Blender 根据顶点组分离模型

1.选中模型,并且进入【3D视图】【编辑模式】: 2.选择顶点组: 3.分离选中项:

数据结构-基于ArrayList的源码模拟

文章目录 继承关系 :1. 构造方法的模拟2. 扩容机制的分析3. 查找方法的模拟4. 获取,修改元素的方法模拟5. 添加元素的模拟6. 删除元素的模拟7. removeAll与retainAll的模拟总结: 边缘方法以及总代码 继承关系 : 1. 构造方法的模拟 源码中我们的ArrayList的构造方法给出了三种实…

Kafka集群搭建可视化指南

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Kafka集群搭建可视化指南 前言准备工作硬件要求环境准备 kafka集群的部署与配置3.1 单节点部署与多节点集群搭建单节点部署:多节点集群搭建: 3.2 Broker配置与优化3.3 Topic的创…

ES6的模块化

ES6模块化是JavaScript的一种组织代码的方式,它允许开发者将代码分割成多个独立的部分(模块),每个模块有自己的作用域和接口,模块之间可以通过导入(import)和导出(export&#xff09…

阿里云服务器怎么更换暴露的IP

很多客户阿里云服务器被攻击IP暴露,又不想迁移数据换服务器,其实阿里云服务器可以更换IP,今天就来和大家说说流程,云服务器创建成功后6小时内可以免费更换公网IP地址三次,超过6小时候就只能通过换绑弹性公网IP的方式来…

【Stable Diffusion】ModuleNotFoundError: No module named ‘ifnude‘ and roop v0.0.2

提示:ModuleNotFoundError: No module named ‘ifnude’ 一、issues/299:ModuleNotFoundError: No module named ‘ifnude’ 路径 cmd 中也可以看到,路径可能有点不一样,但是后面的路径应该都是一样的,如:…

Flask vs FastApi 性能对比测试

Flask和Fastapi都是Python下流行的Web框架,前者有大量拥趸,是一个老牌框架,后者相对较新,但是利用了异步技术和uvloop,都说性能比Flask好很多,于是就我就对比实测一下。由于Windows下不支持uvloop&#xff…

[论文笔记] megatron训练参数:dataloader_type

在深度学习中,dataloader_type参数通常控制着数据的加载、处理和输入到模型的方式。不同的dataloader可能会按照不同的策略处理数据集,这可以显著影响模型训练和评估的效果。具体来说,single和cyclic类型通常如此区别: Single Dat…