Это имеет некоторый смысл в вашем случае, так как я предполагаю, что какой-то виджет рисует изображение, и предполагается, что он может нарисовать его несколько раз.В любом случае, виджет во время рисования будет предварительно умножать альфа.Таким образом, вы могли бы также быть очень откровенными об этом - в конце концов, преобразования формата изображения являются однострочными, так что это не так, как если бы вы должны были написать страницу кода, чтобы справиться с этим.Итак:
class MyViewer : public QWidget {
Q_OBJECT
QImage m_image;
public:
Q_SLOT void setImage(const QImage &image) {
m_image = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
update();
}
...
};