透明背景绘图 html

Drawing html with transparent background

我目前正在尝试将 QTextEdit 的 HTML 格式文本绘制到具有透明背景的 QPixmap , 将其用作另一个小部件的叠加层。

我的第一次尝试是使用 QTextEditQTextDocument 并使用 drawContents() 将其绘制到 QPixmap.

作为第二次尝试,我将 HTML 传递给 QStaticText 并将其绘制到我的 QPixmap,使用QPainter.

两种方法都按预期绘制最终文本,但是,QPixmap 的背景始终为灰色。同时将样式表中 QTextEdit 的背景色设置为透明也不会改变。

有什么办法可以让背景变透明吗?

显然,经过更多研究,我找到了解决方案。

我的 QPixmap 根本不透明,甚至在渲染文本之前也是如此。我遇到了 this blog post,其中 QPainter 的合成模式设置为 CompositionMode_Source 使用对 setCompositionMode().