美文网首页
QT使用render时pixmap背景不为透明的解决办法

QT使用render时pixmap背景不为透明的解决办法

作者: BrokenRainK | 来源:发表于2019-08-02 10:47 被阅读0次

当我们需要将一个界面绘制成图片时,就需要使用到render方法。

QPixmap pixmap(pwidget->size());
pwidget->render(&pixmap);

如果pwidget背景为透明时,pixmap的背景并不是透明的,会自动填充一个背景框,这样就达不到我们想要的效果,而且好丑。
其实解决方法很简单,只需要将pixmap用透明色填充一下就能得到透明背景了。

QPixmap pixmap(pwidget->size());
pixmap.fill(QColor(0, 0, 0, 0));
pwidget->render(&pixmap);

相关文章

网友评论

      本文标题:QT使用render时pixmap背景不为透明的解决办法

      本文链接:https://www.haomeiwen.com/subject/ngikdctx.html