Qt - 从Widget中抓取pixmap不会采用正确的alpha通道

时间:2015-01-22 16:03:14

标签: c++ qt transparency alpha qpixmap

我目前正在使用QWidget :: grab()函数来获取QFrame的pixmap(及其所有子项),但是如果窗口小部件没有任何背景,则该函数似乎没有考虑到。

你看,我的QFrame被设置为“setAutoFillBackground(false)”,但是当它的pixmap被抓取时,它似乎画出了默认的浅粉色背景而不是完全透明。

用包含alpha通道的图片替换像素图可以正常工作。 我正在使用它的情况是使用QGL,因此像素图稍后将作为纹理渲染。

1 个答案:

答案 0 :(得分:0)

我更改了框架的调色板背景以包含0 alpha。这修复了程序。

虽然我仍然认为抓取功能应该考虑为填充背景而设置​​的布尔值 - 因为不自动填充背景通常等同于净视觉效果,而不是在被抓取时。