(1)本类的继承关系如下

在这里插入图片描述

(2) 对于本标准颜色对话框来讲,学会使用其静态函数以获取到颜色就足够了

在这里插入图片描述

++

在这里插入图片描述

++

在这里插入图片描述

(3) 开始学习本类的静态成员函数

在这里插入图片描述

++

在这里插入图片描述

(4)

在这里插入图片描述

++测试一下

在这里插入图片描述

(5)本类的源代码定义于头文件 qcolordialog . h

#ifndef QCOLORDIALOG_H
#define QCOLORDIALOG_H#include <QtWidgets/qtwidgetsglobal.h>#include <QtWidgets/qdialog.h>QT_REQUIRE_CONFIG(colordialog);QT_BEGIN_NAMESPACEclass QColorDialogPrivate;/*
The QColorDialog class provides a dialog widget for specifying colors.Detailed Description :
颜色对话框的功能是允许用户选择颜色。例如,你可能会在绘图程序中使用它,以允许用户设置画笔颜色。
静态函数提供模态颜色对话框。静态的`getColor()、函数会显示对话框,并允许用户指定颜色。
该函数还可用于让用户选择带有透明度的颜色:将`ShowAlphaChannel'选项作为额外参数传递。用户可以存储多个自定义颜色。这些自定义颜色将共享给所有颜色对话框,并在程序的执行过程中被保留。
使用`setCustomColor()`来设置自定义颜色,使用`customColor()、来获取它们。当按下“选择屏幕颜色”按钮时,光标会变为一个剪交叉形状,屏幕上的颜色会被扫描。
用户可以通过点击鼠标或Enter键来选择一种颜色。按下ESc键可恢复进入该模式前的最后选择颜色。Standard Dialogs示例展示了如何使用QColorDialog以及Qt库中的其他内置对话框。*/class Q_WIDGETS_EXPORT QColorDialog : public QDialog
{Q_OBJECTQ_DECLARE_PRIVATE(QColorDialog)Q_PROPERTY(QColor    currentColor   //此属性保存了对话框中当前选择的颜色。READ     currentColor         WRITE     setCurrentColorNOTIFY    currentColorChanged)Q_PROPERTY(ColorDialogOptions  options  READ  options  WRITE  setOptions)//此属性包含影响对话框外观和感觉的各种选项。默认情况下,所有选项都已禁用。//选项应在显示对话框之前设置。如果在对话框可见时设置这些选项,//  其是否立即对对话框产生影响并不确定(这取决于选项和平台)。private:Q_DISABLE_COPY(QColorDialog)Q_PRIVATE_SLOT(d_func(), void _q_addCustom())Q_PRIVATE_SLOT(d_func(), void _q_newHsv(int h, int s, int v))Q_PRIVATE_SLOT(d_func(), void _q_newColorTypedIn(QRgb rgb))Q_PRIVATE_SLOT(d_func(), void _q_nextCustom(int, int))Q_PRIVATE_SLOT(d_func(), void _q_newCustom(int, int))Q_PRIVATE_SLOT(d_func(), void _q_newStandard(int, int))Q_PRIVATE_SLOT(d_func(), void _q_pickScreenColor())Q_PRIVATE_SLOT(d_func(), void _q_updateColorPicking())protected:void changeEvent(QEvent * event ) override; //来自于 QWidgetvoid done       (int      result) override; //来自于 QDialogQ_SIGNALS://void currentColorChanged (const QColor & color);  //这是信号函数//每当对话框中的当前颜色发生变化时,都会发出此信号。当前颜色由color指定。void          colorSelected(const QColor & color);//This signal is emitted just after the user has clicked OK to select a color to use.//The chosen color is specified by color.//此信号在用户点击确定选择要使用的颜色后发出。所选颜色由color指定。public:QColor             selectedColor() const; //返回用户通过点击 OK或等效按钮选择的颜色。//注:此颜色并不总是与当前颜色属性所表示的颜色完全一致,//因为用户可以在最终选定要使用的颜色之前选择不同的颜色。using QDialog::open; //将对话框显示为窗口模态 window modal dialog对话框,并立即返回。//virtual void QDialog::open();void           open(QObject * receiver, const char * member); //指定本类里信号的槽函数//Opens the dialog and connects its colorSelected() signal to the//  slot specified by receiver and member.//The signal will be disconnected from the slot when the dialog is closed.public://Constructs a color dialog with the given parent.explicit QColorDialog(QWidget * parent = nullptr);//在使用本类的静态成员函数的时候,是不用亲自构造本颜色对话框的。explicit QColorDialog(const QColor & initial, QWidget * parent = nullptr);//Constructs a color dialog with the given parent and specified initial color.~QColorDialog();//   Q_PROPERTY(QColor    currentColor         //此属性保存了对话框中当前选择的颜色。
//              READ      currentColor         WRITE     setCurrentColor
//              NOTIFY    currentColorChanged)QColor    currentColor        () const;void   setCurrentColor        (const QColor & color);
Q_SIGNALS:void      currentColorChanged (const QColor & color);public://这个枚举定义了各种影响颜色对话框外观和感觉的选项。enum ColorDialogOption {ShowAlphaChannel    = 0x00000001, //允许用户选择颜色的alpha组件。NoButtons           = 0x00000002, //不显示确定和取消按钮。(对于“实时对话框”很有用。)DontUseNativeDialog = 0x00000004  //使用Qt的标准颜色对话框,而不是操作系统原生的颜色对话框。};Q_ENUM(ColorDialogOption)Q_DECLARE_FLAGS(ColorDialogOptions, ColorDialogOption)
//  //此属性包含影响对话框外观和感觉的各种选项。默认情况下,所有选项都已禁用。
//   Q_PROPERTY(ColorDialogOptions     options
//              READ                   options     WRITE     setOptions)ColorDialogOptions     options() const;void                setOptions(ColorDialogOptions options);void                setOption (ColorDialogOption  option, bool on = true);bool               testOption (ColorDialogOption  option) const;//virtual void QWidget::setVisible(bool visible);void setVisible(bool visible) override;/*弹出一个模态颜色对话框,带有指定的窗口标题 title(如果未指定则使用“选择颜色 Select Color”作为标题),让用户选择一种颜色,并返回该颜色。该颜色最初被设置为`initial。该对话框是`parent'的子项。如果用户取消对话框,则返回-个无效的颜色(请参阅、QColor::isValid()')。options参数允许你自定义对话框。*/static QColor getColor( const   QColor             & initial = Qt::white,QWidget            * parent  = nullptr  ,const   QString            & title   = QString(),ColorDialogOptions   options = ColorDialogOptions()  );//返回QColorDialog支持的自定义颜色数量。所有颜色对话框共享相同的自定义颜色。static int           customCount  ();//Returns the custom color at the given index as a QColor value.static QColor        customColor(int index);static void       setCustomColor(int index, QColor color);//将自定义颜色设置为QColor值。//注:此功能不适用于macOs平台上的原生颜色对话框。//如果您仍然需要此功能,请使用`QColorDialog::DontUseNativeDialog选项。//Returns the standard color at the given index as a QColor value.static QColor      standardColor(int index);static void     setStandardColor(int index, QColor color);//将索引处的标准颜色设置为QColor颜色值。//注:此功能不适用于macOs平台上的原生颜色对话框。//如果您仍然需要此功能,请使用`QColorDialog::DontUseNativeDialog~选项。}; //完结 class QColorDialog : public QDialogQ_DECLARE_OPERATORS_FOR_FLAGS(QColorDialog::ColorDialogOptions)QT_END_NAMESPACE#endif // QCOLORDIALOG_H

(6)

谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89873.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89873.shtml
英文地址,请注明出处:http://en.pswp.cn/web/89873.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金仓数据库:融合进化,智领未来——2025年数据库技术革命的深度解析

引言 在数字中国战略的推动下&#xff0c;数据库作为数字经济的基础设施&#xff0c;正经历着前所未有的技术重构。2025年7月15日&#xff0c;电科金仓以"融合进化&#xff0c;智领未来"为主题&#xff0c;发布了新一代数据库产品矩阵&#xff0c;标志着国产数据库在…

【人工智能99问】卷积神经网络(CNN)的结构和原理是什么?(10/99)

文章目录卷积神经网络&#xff08;CNN&#xff09;的结构及原理一、CNN的核心结构1. 输入层&#xff08;Input Layer&#xff09;2. 卷积层&#xff08;Convolutional Layer&#xff09;2. 卷积层的核心机制&#xff1a;局部感受野与权值共享3. 池化层&#xff08;Pooling Laye…

CCF编程能力等级认证GESP—C++7级—20250628

CCF编程能力等级认证GESP—C7级—20250628单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09;判断题&#xff08;每题 2 分&#xff0c;共 20 分&#xff09;编程题 (每题 25 分&#xff0c;共 50 分)线图调味平衡单选题&#xff08;每题 2 分&#xff0c;共 30 分&…

《Python 类设计模式:属性分类(类属性 VS 实例属性)与方法类型(实例 / 类 / 静态)详解》

Python 类和对象&#xff1a;从 "图纸" 到 "实物" 的编程思维面向对象编程&#xff08;Object-Oriented Programming&#xff0c;简称OOP &#xff09;是一种通过组织对象来编程的方法。1.初识类和对象&#xff1a;用生活例子看透核心概念1.1类-class物与类…

Eureka服务端启动

目录 1、相关文章 2、创建eureka-server子工程 3、父工程build.gradle引入版本依赖管理 4、子工程build.gradle引入依赖 5、将main重命名为EurekaApplication并修改代码 6、添加application.yml文件 7、启动工程并访问 8、访问界面如下 9、 完整目录结构 1、相关文章 …

AWS Partner: Sales Accreditation (Business)

AWS Partner: Sales Accreditation &#xff08;Business&#xff09;云概念和AWS云计算什么是云计算&#xff1f;计算的演变趋势云计算部署模型AWS 客户采用的模式为什么客户选择AWSAWS竞争优势高可用的全球基础设施AWS服务服务广度和深度AWS产品和服务服务类别AWS解决方案库A…

深入理解设计模式之中介者模式:解耦对象交互的利器

为什么需要中介者&#xff1f;在软件开发中&#xff0c;我们经常会遇到对象之间需要相互通信的场景。当系统规模较小时&#xff0c;对象直接相互引用并通信可能不会带来太大问题。但随着系统复杂度增加&#xff0c;对象间的交互关系会变得错综复杂&#xff0c;形成一个复杂的网…

从 0 安装 Label Studio:搭建可后台运行的数据标注平台(systemd 实践

本文将介绍如何使用 pip 安装 Label Studio&#xff0c;并通过 systemd 实现开机自启与后台运行&#xff0c;适用搭建个人项目的数据标注平台。 一、Label Studio 简介 Label Studio 是一个开源、跨模态的数据标注工具&#xff0c;支持文本、图像、音频、视频、HTML等多种类型…

【数据结构】链表(linked list)

目录 一、链表的介绍 二、单链表 1. 单链表的初始化 2. 单链表的插入 &#xff08;1&#xff09;动态申请一个节点 &#xff08;2&#xff09;头插法 &#xff08;3&#xff09;尾插法 &#xff08;4&#xff09;按照位置来插入 &#xff08;5&#xff09;在地址之前插…

反序列化漏洞1-PHP序列化基础概念(0基础超详细)

一.PHP序列化基础概念首先当我们看到反序列化漏洞这个概念&#xff0c;我们的第一个问题是什么是反序列化&#xff1f;那么我们要知道什么是反序列化就要知道什么是序列化。序列化就是可以将一个对象压缩并格式化成字符串&#xff0c;可以将该对象保存下来&#xff0c;以便存储…

【微服务】Ocelot微服务网关

目录 一、目的 二、Ocelot介绍 三、.Net中使用Ocelot搭建网关服务 3.1 搭建网关Ocelot步骤 3.1.1、创建Net7 WebApi服务 3.1.2、Nuget引入-Ocelot程序包&#xff08;版本&#xff1a;19.0.2&#xff09; 3.1.3、配置中间件和IOC注册 3.1.4 配置文件编辑Ocelot网关配置信…

零基础入门:用按键精灵实现视频自动操作(附完整脚本)

摘要&#xff1a;本文手把手教你编写视频平台的自动化脚本&#xff0c;涵盖点击、循环、防检测等核心技巧&#xff0c;无需编程基础&#xff0c;轻松实现自动播放/点赞/跳过广告。&#xff08;使用按键精灵2024版演示&#xff09; 一、应用场景 自动化操作&#xff1a;自动跳过…

AI(学习笔记第六课) 使用langchain进行AI开发 load documents(csv和文件夹)

文章目录AI(学习笔记第六课) 使用langchain进行AI开发 load documents(csv和文件夹)学习内容&#xff1a;1.load documents&#xff08;csv&#xff09;1.1 学习url1.2 load csv文件1.2.1 默认load1.2.2 csv文件内容1.2.2 执行csv文件的load1.3 Customizing the CSV parsing an…

企业运维实战:Jenkins 依赖 JDK21 与应用需 JDK1.8 共存方案(含流水线配置)

前言&#xff1a;在企业运维中&#xff0c;“工具升级”与“业务兼容”的平衡始终是核心挑战。近期我们遇到一个典型场景&#xff1a;Jenkins 升级到 2.450 版本后&#xff0c;强制要求 JDK21 运行环境&#xff1b;但开发团队的应用程序因框架依赖&#xff0c;必须使用 JDK1.8 …

爬虫小知识三:selenium库

前言 selenium 库是一种用于 Web 应用程序测试的工具&#xff0c;它可以驱动浏览器执行特定操作&#xff0c;自动按照脚本代码做出单击、输入、打开、验证等操作&#xff0c;支持的浏览器包括 IE、Firefox、Safari、Chrome、Opera 等。 与 requests 库不同的是&#xff0c;se…

Jmeter使用 -1

1 接口测试1.1 为什么要进行接口测试接口测试能够绕过前端校验&#xff0c;对后端的接口处理逻辑进行测试&#xff08;数据的边界/格式/类型&#xff09;在一些需要重复测试的需求中&#xff0c;接口自动化的效率比手工执行效率高1.2 接口测试流程熟悉API接口文档&#xff08;接…

GitHub 趋势日报 (2025年07月16日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图2415markitdown570claude-code434ART330erpnext150MusicFree146rustdesk129vanna80…

Python+Tkinter制作音频格式转换器

我们将使用Python的Tkinter库来构建一个音频格式转换器界面。由于音频转换需要实际的处理&#xff0c;我们将使用pydub库&#xff08;需要安装&#xff09;来进行音频格式转换。同时&#xff0c;我们会使用ffmpeg作为后端&#xff0c;因此请确保系统中已安装ffmpeg并添加到环境…

Haproxy算法精简化理解及企业级高功能实战

文章目录4. Haproxy的算法4.1 静态算法4.1.1 static-rr&#xff1a;基于权重的轮询调度1. 示例&#xff1a;4.1.2 first1. 示例2. 测试效果&#xff1a;4.2 动态算法4.2.1 roundrobin1. 示例2. 动态调整权重4.2.2 leastconn1. 示例4.3 其他算法4.3.1 source1. 示例2. 测试4.3.2…

git fork的项目远端标准协作流程 仓库设置[设置成upstream]

这是一个在开源协作中非常常见的配置。 简单来说&#xff0c;upstream 在这里指的是你 Fork 来的那个原始的、官方的仓库。 下面我们来详细解释一下这个 git remote -v 输出的含义&#xff1a; 1. 两条“遥控器” (Remotes) 你的 git 配置了两个远程仓库的地址&#xff0c;就像…