Qt - 从 Widget 抓取像素图不采用正确的 alpha 通道

Qt - Grabbing pixmap from a Widget doesn't take proper alpha channel

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

你看,我的 QFrame 设置为 "setAutoFillBackground(false)",但是当它的像素图被抓取时,它似乎绘制了默认的浅粉色背景而不是完全透明。

用包含 alpha 通道的图片替换像素图效果很好。 我正在使用它的情况是 QGL,所以像素图稍后会作为纹理呈现。

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

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