Qt不透明色刷?

Posted

技术标签:

【中文标题】Qt不透明色刷?【英文标题】:Qt opacity color brush? 【发布时间】:2012-01-12 02:07:48 【问题描述】:

特别是在我的情况下,我想使用 adLine() 在 QGraphicsScene 上画一条线。在此之前,我已经在场景中画了一些东西,我想要在所有这些之上的最后一条大线,但我仍然可以看到我已经画的东西。

一般来说,我可以绘制一个项目并用我可以看到项目下方的那种颜色填充它吗?

我在这里阅读了一些关于 BGMode 的内容:http://doc.qt.io/qt-5/qt.html#BGMode-enum,但我不确定它是如何工作的。

【问题讨论】:

【参考方案1】:

当你调用addLine 时,你传入一个QPen。如果您希望该笔使用半透明颜色进行绘制(以便“下方”的内容仍然显示),请使用 alpha 通道值低于 255 的颜色初始化 QPen。(请参阅 QColor。)

QPen transRed(QColor(0xFF, 0, 0, 0x80));
scene.addLine(x1,y1, x2,y2, transRed);

【讨论】:

以上是关于Qt不透明色刷?的主要内容,如果未能解决你的问题,请参考以下文章

求助,关于Qt的窗口半透明,窗口上的空间不透明

qt 窗体透明,控件不透明

透明小部件不随其父级移动

如何更改 Qt MainWindow 的不透明度?

qt对话框失去焦点透明

Qt 子窗口设置为透明