QT应用编程: 设置颜色透明度

2022-01-07 14:15:50 浏览数 (1)

一、环境介绍

操作系统介绍:win10 64位

QT版本: 5.12.6

二、功能介绍

在绘制自定义窗口时,经常会在背景上绘制其他图形效果,又不想把背景色覆盖掉。这时可以设置绘制颜色的透明度 来达到效果。

代码语言:javascript复制
QColor color("#61DED0");
color.setAlpha(100); //其中,参数x为透明度,取值范围为0~255,数值越小越

三、示例代码

代码语言:javascript复制
/*
工程: DrawTimeLine
日期: 2020-12-25
作者: DS小龙哥
环境: win10 QT5.12.6 MinGW32
功能:窗口绘制事件
*/
void DrawTimeLine::paintEvent(QPaintEvent *e)
{
    QPainter painter(this);
	//启动抗锯齿
    painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
	
	.............................
	
    QColor color("#61DED0");
    color.setAlpha(100); //其中,参数x为透明度,取值范围为0~255,数值越小越透明
    QBrush posBrush(color);
    QRectF posRect(0,20, 100,100);
    painter.setBrush(posBrush); //设置画刷
    painter.setPen(Qt::NoPen);  //不设置画笔,不绘制边界线
    painter.drawRect(posRect);  //绘制矩形
	
	.............................
}

0 人点赞