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

2019-08-02  本文已影响0人  BrokenRainK

当我们需要将一个界面绘制成图片时,就需要使用到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);
上一篇下一篇

猜你喜欢

热点阅读