Qt应用开发(基础篇)——颜色选择器 QColorDialog

news2025/1/21 8:38:54

一、前言

        QColorDialog类继承于QDialog,是一个设计用来选择颜色的对话框部件。

        对话框窗口 QDialog

        QColorDialog颜色选择器一般用来让用户选择颜色,比如画图工具中选择画笔的颜色、刷子的颜色等。你可以使用静态函数QColorDialog::getColor()直接显示对话框,然后重新选择颜色,还能选择具有透明度的颜色,选择的颜色保存在函数返回的一个QColor类型的返回值。

        用户通过预设的颜色表格选择颜色,或者通过输入RGB值选择,或者通过鼠标在触屏上滑动寻找想要的颜色。按下Enter键触发确认,按下ESC键触发退出。

QColorDialog *cdia = new QColorDialog(this);
cdia->setWindowTitle("my color dialog");
cdia->setCurrentColor(QColor("red"));
cdia->exec();

         或者:

QColorDialog::getColor(QColor("red"),
                       this,
                       "my color dialog",
                       QColorDialog::DontUseNativeDialog);

 

 二、QColorDialog类

1、currentColor

        该属性表示当前在对话框中选择的颜色。

QColor currentColor() const
void setCurrentColor(const QColor &color)

2、options

        该属性表示外观的一些显示策略,默认没有策略。如果需要的话,需要在显示之前设置此策略。

QColorDialog::ColorDialogOptions options() const
void setOptions(QColorDialog::ColorDialogOptions options)
QColorDialog::ColorDialogOption描述
ShowAlphaChannel允许用户选择颜色的alpha分量。
NoButtons不要显示OK和Cancel按钮。
DontUseNativeDialog使用Qt的标准颜色对话框,而不是操作系统自带的颜色对话框。

        在linux下颜色对话框样式为:

        设置DontUseNativeDialog|ShowAlphaChannel之后会恢复成标准对话框,并且多了一个alpha通道数值的输入。

 3、公共函数

 1)open

        打开对话框,并且连接colorSelected信号绑定的槽,当对话框关闭的时候,这个信号槽连接会被断开。

void open(QObject *receiver, const char *member)

示例:打开的同时绑定colorSelected信号的作用槽函数,控制台输出选择的颜色RGB。

public slots:
    void onColorSelected(const QColor &color);
void MainWindow::onColorSelected(const QColor &color)
{
    qDebug()<<color;
}
QColorDialog *dia = new QColorDialog(this);
dia->resize(800,600);
dia->setWindowTitle("my color dialog");
dia->setCurrentColor(QColor("red"));
dia->setOptions(QColorDialog::DontUseNativeDialog | QColorDialog::ShowAlphaChannel);
dia->open(this,SLOT(onColorSelected(const QColor &)));

2)setOption

        单独设置某一项显示策略的使能,参考上文options。

void setOption(QColorDialog::ColorDialogOption option, bool on = true)

3)testOption

        返回某一项显示策略的使能,对应上文setOption。

bool testOption(QColorDialog::ColorDialogOption option) const

4)selectedColor

        返回当前选择的颜色。

QColor selectedColor() const

4、静态公共函数

1)customColor

        返回自定义颜色的索引对应的颜色。

QColor customColor(int index)

2)setCustomColor

        设置自定义颜色每个索引对应的颜色。

void setCustomColor(int index, QColor color)

3)standardColor

        返回标准颜色的索引对应的颜色。

QColor standardColor(int index)

4)setStandardColor

        设置标准颜色的索引对应的颜色

void setStandardColor(int index, QColor color)

5)customCount

        返回自定义颜色的数量。

int customCount()

6)getColor

        使用模式状态打开对话框,默认给定颜色initial为白色可修改,还可传入窗口标题title和颜色对话框显示策略options

QColor getColor(const QColor &initial = Qt::white, 
QWidget *parent = nullptr, 
const QString &title = QString(), 
QColorDialog::ColorDialogOptions options = ColorDialogOptions())

5、信号

1)colorSelected

        用户按下ok之后或者确认之后触发该信号。

void colorSelected(const QColor &color)

 2)currentColorChanged

        当窗口的颜色发生变化就会触发该信号。

void currentColorChanged(const QColor &color)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入解析CMS垃圾回收器

本文已收录至GitHub&#xff0c;推荐阅读 &#x1f449; Java随想录 微信公众号&#xff1a;Java随想录 原创不易&#xff0c;注重版权。转载请注明原作者和原文链接 文章目录 CMS简介运作过程初始标记并发标记并发预处理可取消的并发预处理重新标记并发清除 CMS的缺陷处理器资…

day2 牛客TOP100:BM 11-20 链表 二分法 流输入 小美加法

文章目录 链表BM11 链表相加(二)BM12 单链表的排序归并排序分割 超时辅助数组快排 BM13 判断一个链表是否为回文结构BM14 链表的奇偶重排BM15 删除有序链表中重复的元素-IBM16 删除有序链表中重复的元素-IIJZ35 复杂链表的复制 二分法BM17 二分查找-IBM18 二维数组中的查找BM19…

高忆管理:科创板代码多少开头?

科创板在上海证券买卖所正式开市&#xff0c;这是我国股票商场上的一次重磅改革。科创板旨在推进我国科技立异式企业的发展&#xff0c;招引更多高科技企业到A股上市。那么&#xff0c;科创板的代码多少最初呢&#xff1f;这个问题也让许多投资者和重视者非常重视。接下来&…

水论文的三种套路

目录 1、换模型不换领域&#xff08;同领域换基准模型&#xff09;2、换领域不换模型&#xff08;同基准模型换领域&#xff09;3、改进的模型 1、换模型不换领域&#xff08;同领域换基准模型&#xff09; 有一个&#xff0c;对Transformer做了一个改进A&#xff0c;做视频描…

激光三角测距原理

激光三角测距原理 1. 简介2. 直射式激光三角测距法3. 斜射式激光三角测距法 1. 简介 激光三角测量法是利用光线空间传播过程中的光学反射规律和相似三角形原理&#xff0c;在接收透镜的物空间与像空间构成相似三角形关系&#xff0c;同时利用边角关系计算出待测位移。根据入射…

数学建模:主成分分析法

&#x1f506; 文章首发于我的个人博客&#xff1a;欢迎大佬们来逛逛 主成分分析法 算法流程 构建原始数据矩阵 X X X &#xff0c;其中矩阵的形状为 x ∗ n x * n x∗n &#xff0c;有 m m m 个对象&#xff0c; n n n 个评价指标。然后进行矩阵的归一化处理。首先计算矩…

Python学习 -- 枚举类

当谈到在Python中管理一组常量或者枚举类型的时候&#xff0c;Enum&#xff08;枚举&#xff09;类是一个非常有用的工具。Python的Enum类允许你创建具有有意义的、可读性高的常量集合&#xff0c;而不必使用硬编码的数字或字符串。在本篇博客中&#xff0c;我们将深入探讨Pyth…

【LeetCode75】第四十题 最大层内元素和

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 这道题和LeetCode75的上一题大同小异&#xff0c;都是要我们对二叉树进行层序遍历。 那具体如何层序遍历我再上一题也详细介绍过了&#…

System.Environment在Unity和常规.NET应用程序中的应用与兼容性

什么是 System.Environment&#xff1f; System.Environment 是 .NET Framework 的一个类&#xff0c;它提供了关于当前环境和平台的信息&#xff0c;以及与它们进行交互的方法。这些环境可以是操作系统、版本、机器配置等。该类为应用程序提供了访问特定于操作系统的功能的方…

常用命令之docker生命周期管理和镜像管理命令

一、docker简介 Docker是一个开源的容器化平台&#xff0c;用于构建、部署和管理应用程序。它使用容器技术来将应用程序及其依赖项打包为一个独立的可移植容器&#xff0c;可以在不同的环境中运行&#xff0c;而不需要依赖特定的操作系统或硬件。   Docker的主要特点包括&…

poi-tl设置图片

选中图片右击 选择设置图片格式

有哪些情感书单素材?怎么制作成视频?

如果你想要制作一段能够引起观众共鸣的情感书单视频&#xff0c;你需要准备哪些素材呢&#xff1f;下面我们将介绍制作情感书单视频的素材和方法。 情感书单素材 书籍封面 制作情感书单视频的第一个素材是书籍封面。封面上的图案能够很好地表达书本的主题和情感&#xff0c;是…

Hadoop HA模式切换

Hadoop HA模式下 主从的切换&#xff08;操作命令&#xff09; YARN HA 获取所有RM节点的状态 yarn rmadmin -getAllServiceState获取 rm1 节点的状态 yarn rmadmin -getServiceState rm1手动将 rm1 的状态切换到STANDBY yarn rmadmin -transitionToStandby rm1 ##或者 y…

5年经验之谈 —— 性能测试中故障排查及解决方法!

引言&#xff1a; 在进行性能测试过程中&#xff0c;同事反馈报错率突然攀升。通过查看相关日志和服务器状态&#xff0c;发现了一些关键信息。本文将详细介绍导致报错率攀升的原因&#xff0c;并提供相应的解决方法。 1. 问题背景 在使用JMeter进行性能测试时&#xff0c;我…

vue、elementui控制前一级选择后,后一级才会有数据

<el-form-item label"废物类型&#xff1a;"><el-select clearable v-model"queryForm.hswCateType" placeholder"请选择" change"industryCategoryChange" focus"industryCategoryFocus"><el-option v-for&…

微软用 18 万行 Rust 重写了 Windows 内核

微软正在使用 Rust 编程语言重写其核心 Windows 库。 5 月 11 日——Azure 首席技术官 Mark Russinovich 表示&#xff0c;最新的 Windows 11 Insider Preview 版本是第一个包含内存安全编程语言 Rust 的版本。 “如果你参加了 Win11 Insider 环&#xff0c;你将在 Windows 内…

C语言“牵手”天猫商品详情数据方法,天猫商品详情API接口申请指南

天猫商城平台是阿里巴巴集团旗下的一个综合性购物网站。 天猫商城的前身是淘宝商城&#xff0c;于2012年1月11日上午更名。天猫是一个整合数千家品牌商、生产商&#xff0c;为商家和消费者之间提供一站式解决方案的B2C&#xff08;Business-to-Consumer&#xff0c;商业零售&a…

干货!证书超实用小Tips

1.CSA 是加拿大标准协会(Canadian Standards Association)的简称&#xff0c;它成立于1919年&#xff0c;是加拿大首家专为制定工业标准的非盈利性机构。在北美市场上销售的电子、电器等产品都需要取得安全方面的认证。 2.EAC认证 是海关联盟国家的认证。海关联盟是由俄罗斯…

C# WPF监听USB插入拨出

可以全部监听。好用 private void FormF100WriteCortexLicense_Load(object sender, EventArgs e){this.Text this.Text " " FT_Tools.Program.version;USB USBWatcher new USB();USBWatcher.AddUSBEventWatcher(USBEventHandler, USBEventHandler, new TimeSpa…

【MongoDB系列】3. MongoDB 安全策略:验证和授权

前言 前面文章中通过客户端工具&#xff08;MongoDB Shell、Robo 3T&#xff09;连接 MongoDB 服务时&#xff0c;只要有 IP 地址和端口号&#xff0c;就能连接到数据库&#xff0c;之后就能操作数据库。这是因为默认安装的 MongoDB 没有启用身份验证&#xff0c;也没有设置初…