美文网首页
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