QSS设置字体透明度

QSS设置字体透明度_第1张图片

1.效果演示

我先上效果图看看。

QSS设置字体透明度_第2张图片

 

// 不带效果样式表
QLabel{
font: 11pt "Arial";
color:#FF00FF00;
}
// 带效果样式表
QLabel{
font: 11pt "Arial";
color:#2F00FF00;
}

我想你已经发现了,color的前两位十六进制就是表示透明度(0~255),后面的6位就是RGB。

2.思考的过程

接下来我想跟你说说,我是怎么思考的过程。这个才是解决问题的本质。

当看到UI设计师的标注图的时候。就发现一个很奇怪的地方,字体透明。这对我来说可是新鲜事情,因为之前从未见过这样的需求,可能我见识少 -_-||。

立马去项目里面看看有没有已经有了的功能,发现居然没有,我就心里好奇以前是咋玩的。没有办法只能先去bing了。但是搜索到的内容没有什么相关性。

我只能自己琢磨了。

我首先注意了style sheet里面的属性是color,我就去文档看了QColor class。嘿嘿,有了一点发现。它的构造函数QColor(int r, int g, int b, int a = 255),最后一个alpha通道就是所谓的透明度。有了这发现,剩下就是开始尝试了。

我最开始的时候设置了color:#00000FF,这个应该是全黑不透明。但实际效果确实透明的。再测试color:#FF0000FF,是蓝色的。最后有测试了几次发现前两位居然是透明度。好了,到这里我就知道color的全部东西了。

需要注意的是我在测试color的值时候,采用的是特征值,这样辨识度很高,就容易帮我排除和定位问题。

你可能感兴趣的:(Qt实战记录,qt,ui,QSS,Font)