一、环境介绍
操作系统介绍:win10 64位
QT版本: 5.12.6
在绘制自定义窗口时,经常会在背景上绘制其他图形效果,又不想把背景色覆盖掉。这时可以设置绘制颜色的透明度 来达到效果。
QColor color("#61DED0"); color.setAlpha(100); //其中,参数x为透明度,取值范围为0~255,数值越小越
三、示例代码
/* 工程: 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); //绘制矩形 ............................. }