前言
QColorDialog类继承于QDialog,是一个设计用来选择颜色的对话框部件。
QColorDialog
在介绍 QColorDialog 之前,我们先简单介绍一下 QColor 类。QColor 类用于表示颜色,支持 RGB(红绿蓝)三原色表示,也支持其他颜色模型表示,例如 HSV (hue 色调, saturation 饱和度, value 明亮度),CMYK(cyan 青, magenta 紫或叫品红, yellow 黄, black 黑)。HSV 常用于描述人眼对颜色的感官,CMYK 常用于绘画或彩色印刷的颜料配置。计算机显示则更多地使用 RGB 三原色,下面我们主要介绍 RGB 的颜色模型相关函数内容。
针对半透明显示的特效,颜色也可以使用第四个分量,Alpha 通道,表示半透明程度,与三原色一起就是 ARGB。QColor 对象的构造或修改如下:
QColor(int r, int g, int b, int a = 255) //根据红、绿、蓝、Alpha构造颜色对象
void setRgb(int r, int g, int b, int a = 255) //设置红、绿、蓝、Alpha 值
int red() const //获取红色分量
int green() const //获取绿色分量
int blue() const //获取蓝色分量
int alpha() const //获取Alpha分量
void getRgb(int * r, int * g, int * b, int * a = 0) const //一次性读取四个通道值到参数指针指向的变量
颜色除了数值的表示方法,还可以仿照 HTML/CSS 网页中的颜色表述,比如 RGB 使用字符串表示 "#112233" ,这里是十六进制字符串表示,ARGB 表示为 "#ff112233" ,字符串表述的颜色设置和获取函数如下:
QString QColor::name() const //获取字符串表示的颜色,如 "#RRGGBB"
void QColor::