QT中QColor用法_break在c语言中的用法

QT中QColor用法_break在c语言中的用法QColor_qcolor

QColor

Qt关于QColor类的官方文档:https://doc.qt.io/qt-5.14/qcolor.html

一、简介

QColor为我们提供更多的颜色选择,如果只想用普通颜色,完全可以使用Qt中预定义颜色,如Qt::redQt::yellowQt::blue等等。

进一步的调整颜色深浅度也可以使用QColor

QColor为我们提供很多颜色模组,有RGB、HSV、CMYK、HSL等等。

在学习前,首先要了解,颜色模块中,所有的“1”都是255。

RGB常用于硬件显示,在基本的颜色调整方面都比较方便,.setRgb(int r,int g,int b,int a = 255)设置的前三个参数就是用于红、绿、蓝颜色调整。

HSV和RGB理解上差不多,但是HSV拥有调色功能。

HSL类似于HSV,但是HSL多了个曝光功能。

CMYK这个用于印刷机和打印机。

只介绍前两种常用方法。

二、颜色深浅度调整

除了白色,其他颜色都是有深浅值的,在QColor中,深浅度由“0”-“1”,也就是0-255。0是黑色,255是设置的颜色本身,其值可以在0-255之间调整。具体看下面颜色渐变:

QT中QColor用法_break在c语言中的用法

如代码:

	QColor color;
	color.setRed(177);

运行结果:

QT中QColor用法_break在c语言中的用法

三、RGB

Qt官方文档中表示(1,0,0)意味(红,绿,蓝)选择与否,和程序内部颜色整形无关联

在定义颜色时,使用.setRgb(int r,int g,int b,int a = 255);。同上一节所述,在输入整形时,应该输入0-255之间的数(具体参上)。后面的a默认是255,说明前三组组成的颜色的透明度,其深浅度为“1”。
(备注:第四个参数a指的是透明度,255为全色,小于255可以看见图像后面的内容,等于0或大于255时效果一样,全透明)

QT中QColor用法_break在c语言中的用法

代码:

    QPainter paint(this);
    QColor color;

    color.setRgb(0,255,255,255);

    paint.setBrush(color);
    paint.drawRect(10,10,180,80);

效果:

QT中QColor用法_break在c语言中的用法

如果想不运行当前程序而检测颜色,可将鼠标光标放置在数字上,它会自动显示当前颜色。

QT中QColor用法_break在c语言中的用法

四、HSV

HSV和RGB大致相同,但是只是参数不同。

HSV全称“Hue Saturation Value”意为(色调 色饱和度 值)。

色调既是其原本颜色。如果将颜色作为一个轮盘,那么0表示的是红色,120表示的是绿色,240表示的是蓝色。如下:

QT中QColor用法_break在c语言中的用法

色饱和度从也是从“0”-“1”,即0-255,其遵从,

QT中QColor用法_break在c语言中的用法

同理,从0-255,遵从

QT中QColor用法_break在c语言中的用法

代码:

    QPainter paint(this);
    QColor color;

    color.setHsv(0,255,255,255);	//H,S,V,a默认255,参上

    paint.setBrush(color);
    paint.drawRect(10,10,180,80);

五、QColor构造函数

	QColor(const QColor &color)
	//paint.setBrush(QColor(color));
	
	QColor(QLatin1String name)
	//paint.setBrush(QColor(QLatin1String("red")));
	
	QColor(const char *name)
	//paint.setBrush(QColor("red"));
	
	QColor(const QString &name)
	//paint.setBrush(QColor("red"));
	
	QColor(QRgba64 rgba64)
	QColor(QRgb color)
	QColor(int r, int g, int b, int a = 255)
	//paint.setBrush(QColor(255,0,0));
	
	QColor(Qt::GlobalColor color)
	//paint.setBrush(QColor(Qt::red));
	QColor()

五、颜色代码——“#FFFF”

前文介绍了颜色的使用,“0” —— 0,“1” —— 255,这是基于十进制上使用的。
具体代码有

    painter.setBrush(QColor(0,225,225));

这是使用的QColor构造函数中的(int r,int g,int b)参数选择。显而易见,这里的整形参数都是十进制的。QColor也有一个输入QString变量参数的函数。我们可以在QString中直接输入颜色,

    painter.setBrush(QColor("red"));

或者输入颜色代码

    painter.setBrush(QColor("#00FFFF"));		//aqua颜色名,相当于参数(0,255,255)

**颜色代码由六位十六进制组成,每两位十六进制就代表着r、g、b的整形。**所以,“0”2—— 0 10——“00”16,“1”2—— 25510 —— “FF”16

六、颜色表格(部分)

按颜色名称排序

QT中QColor用法_break在c语言中的用法

来源:CSS通用color

今天的文章QT中QColor用法_break在c语言中的用法分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72101.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注