当前位置: 首页 > news >正文

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

一、前言

        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.lryc.cn/news/150821.html

相关文章:

  • vscode 清除全部的console.log
  • UG\NX CAM二次开发 插入工序 UF_OPER_create
  • C++指针、指针函数、函数指针、类指针
  • 图:最短路径问题(BFS算法,Dijkstra算法,Floyd算法)
  • 栈和队列篇
  • 分享一个vue-slot插槽使用场景
  • Qt应用开发(基础篇)——进度对话框 QProgressDialog
  • 基于SpringBoot2的后台业务管理系统
  • Jmeter(三十):并发测试(设置集合点)
  • Flink的checkpoint是怎么实现的?
  • ubuntu上安装nginx
  • 9. 微积分 - 导数
  • 滑动窗口系列1-达标子数组
  • 电视显示技术及价格成本对比(2023年)
  • 浅谈 Pytest+HttpRunner 如何展开接口测试!
  • vue自定义事件 div 拖拽方法缩小
  • 使用实体解析和图形神经网络进行欺诈检测
  • vue中axios请求篇
  • Springboot2.0 上传图片 jar包导出启动(第二章)
  • 添加YDNS免费的ipv6动态域名解析
  • 爬虫异常处理之如何处理连接丢失和数据存储异常
  • KVM虚拟化ubuntu
  • 模拟电子技术基础学习笔记三 PN结
  • java基础-----第七篇
  • useEffect 不可忽视的 cleanup 函数
  • vue3:使用:批量删除功能
  • Scala中的样例类和样例对象和JAVA存根类
  • 【0218】当SIGQUIT kill掉stats collector后,stats collector如何保存最终统计数据
  • httplib 与 json.hpp 结合示例
  • RK3288安卓7.1开机上电到显示logo需要在3s内完成