我目前正在尝试将 QTextEdit 的HTML格式文本绘制到具有透明背景的 QPixmap 中,以将其用作另一个小部件的叠加层。 / p>
我的第一次尝试是使用 QTextEdit 的 QTextDocument 并使用 drawContents()将其绘制到 QPixmap
作为第二次尝试,我将HTML传递给 QStaticText 并使用 QPainter 将其绘制到我的 QPixmap 。
两种方法均按预期绘制最终文本,但 QPixmap 的背景始终为灰色。另外,将StyleSheet中 QTextEdit 的背景颜色设置为透明不会发生变化。
有什么办法可以让背景透明化吗?
答案 0 :(得分:0)
显然,经过一些研究,我找到了解决方案。
我的 QPixmap 根本不透明,即使在渲染文本之前也是如此。我遇到了this blog post,其中使用对 setCompositionMode()的调用将 QPainter 的合成模式设置为 CompositionMode_Source 。