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

2023-11-08

一、前言

        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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt应用开发(基础篇)——颜色选择器 QColorDialog 的相关文章

随机推荐

  • 2.4.9 Profile虚拟以太网网卡参数

    最后更新2021 07 22 参考 lt 图 242 虚拟IO设备管理界面 gt 我们来了解一下虚拟以太网网卡参数 图 244 虚拟以太网参数设置 普通设置 Adapter ID 等同于虚拟IO设备的Slot ID 槽位号 参考 lt 49
  • 在crontab中执行scrapy(解决不执行,不爬取数据的问题)

    文章来着 在crontab中执行scrapy 解决不执行 不爬取数据的问题 自我的进化 在crontab中执行scrapy会遇到命令不执行 或者执行了但是没有爬取数据的问题 这里做一下总结 先说这里遇到的问题和解决方案 spider不执行
  • 图说设计模式

    软件模式是将模式的一般概念应用于软件开发领域 即软件开发的 总体指导思路或参照样板 软件模式并非仅限于设计模式 还包括 架构模式 分析模式和过程模式等 实际上 在软件生存期的每一 个阶段都存在着一些被认同的模式 本书使用图形和代码结合的方式
  • 《CSDN 涨粉攻略》11个涨粉方法,你学会了几个?

    文章目录 前言 一 我最近的涨粉情况 二 不忘初心 三 涨粉要诀 1 社区 a 规则 b 详述 2 热榜 a 规则 b 详述 3 粉丝可见 a 规则 b 详述 4 标题 a 规则 b 详述 5 封面 a 规则 b 详述 6 一键三连 a 规
  • python中的元组(tuple)的用法

    以下内容主要摘抄博客 https blog csdn net yezonggang article details 50976664 utm medium distribute pc relevant none task blog Blog
  • 几种常见开源软件授权协议

    转载地址见图片
  • Data Structure (三)

    动态规划 1 区间调度问题 1 1无权区间调度问题 任务j开始于sj 结束于fj 如果两个任务没有重叠的时间 则两个任务互相兼容 目标 找到最多 最大互相兼容的任务集合 贪心算法总是做出当前最优的选择 贪心算法并不总能得到最优解 但是它是最
  • MATLAB绘图设置坐标轴标注

    绘图之后设置坐标轴标注 以下均为用例 自行按需更改 xlim 0 512 限制x轴坐标数值范围 ylim 0 512 限制y轴坐标数值范围 set gca XTick 0 510 4 512 设定x轴坐标刻度 0 512是数值范围 512
  • Qt开发,链接了数据库后,调用QSqlQuery::setQuery执行SQL语句获取我们想要的数据

    继上篇文章将数据库封装成一个类 链接为成员函数 而当我将查询做为另一个函数时 无法对已有的database进行操作 尽管db为类的成员 同样会报错误 QSqlQuery exec database not open QSqlQueryMod
  • C#判断是否是以管理员权限允许当前应用

    private static bool CheckForAdminRights string path Path Combine Environment GetFolderPath Environment SpecialFolder Win
  • 微信小程序防止后退,返回主页,30秒看完关闭

    防止后退 使用 wx redirectTo 代替wx navigateto 关闭返回主页 在onShow function 中调用wx hideHomeButton 讲完收工
  • 国产chatgpt:基于chatGLM微调nlp信息抽取任务

    文章目录 一 传统nlp做信息抽取 二 什么是零样本和少样本 1 零样本和少样本的概念 2 零样本和少样本的应用场景 3 零样本和少样本在大模型时代的优势和意义 4 相比传统NLP 零样本和少样本学习具有以下优势 三 大模型时代信息抽取 c
  • pip 使用国内镜像源及常用命令

    Python pip默认是从pypi org官网下载包 即使用的是国外的镜像源 https pypi python org simple 因此在下载安装包时速度非常慢 还经常出现连接超时 导致下载失败的情况 所以 一般在下载安装包的时候 都
  • 一文解决java.lang.UnsatisfiedLinkError

    首先大家先了解下 ABI和CPU 不同的 Android 手机使用不同的 CPU 而不同的 CPU 支持不同的指令集 CPU 与指令集的每种组合都有专属的应用二进制接口 即 ABI 每个 ABI 支持一个或多个指令集 每个 ABI 支持的指
  • Java语言中的重写(override)和重载(overload)

    Java语言中的重写 override 和重载 overload 重写 override 和重载 overload 是编程语言中的两个常见概念 用于描述函数或方法的特定行为 重写指的是在子类中重新定义 覆盖 父类中已经存在的同名方法 重写可
  • 习题2软件工程

    3 4 1 不是 通常所说的结构化程序 是按照狭义的结构程序的定义衡量 符合定义规定的程序 图示的程序的循环控劇结构有两个出口 显然不符合狭义的结构程序的定义 因此是非结构化的程序 2
  • aspose文档格式转换

    文章目录 Word转Pdf html转pdf pdf转word Word转Pdf public static void main String args throws Exception Document doc new Document
  • pikachu靶场CSRF之TOKEN绕过

    简介 Pikachu靶场中的CSRF漏洞环节里面有一关CSRF TOKEN 这个关卡和其余关卡稍微有点不一样 因为表单里面存在一个刷新就会变化的token 那么这个token是否能绕过呢 接下来我们来仔细分析分析 实战过程 简单尝试 先利用
  • 11月10日 生命值,减少生命值,创建生命值UI UE4斯坦福 学习笔记

    制作角色属性Comp 添加一个Actorcomp 在 h内添加生命值与减少血量的函数 protected 只在蓝图内可以编辑 在编辑器界面不能编辑 UPROPERTY EditDefaultsOnly BlueprintReadOnly C
  • Qt应用开发(基础篇)——颜色选择器 QColorDialog

    一 前言 QColorDialog类继承于QDialog 是一个设计用来选择颜色的对话框部件 对话框窗口 QDialog QColorDialog颜色选择器一般用来让用户选择颜色 比如画图工具中选择画笔的颜色 刷子的颜色等 你可以使用静态函