Рендеринг QWidget в QImage теряет альфа-канал

У меня есть простой виджет Qt. ЭтоQLabel с применением простого стиля CSS. Важной частью стиля является круглая граница:

QString css("border-style: solid;"
       "border-width: 3px;"
       "border-radius: 7px;");

На экране отображается нормально. Углы надписи за границей залиты прозрачным цветом, поэтому он отлично смотрится на любом фоне. Вот как это выглядит при отображении поверх другого виджета (который имеет темно-серый цвет фона):

Теперь, когда я рендерил его в QImage, вот так

QImage bitmap(label->size(), QImage::Format_ARGB32);
QPainter painter(&bitmap);
balloon->render(&painter);
bitmap.save("C:/1.png");

Я получаю это (изображение, открытое в редакторе изображений, чтобы продемонстрировать проблему ясно):

Обратите внимание, как прозрачность не сохраняется по углам. В чем проблема? Как я могу сделать это правильно?

P. S. Я попробовал это, чтобы проверить, что QImage способен сохранять альфа-канал, и что мой редактор изображений отображает его правильно:

bitmap.fill(QColor::fromRgba(qRgba(0, 0, 0, 0)));
bitmap.save("C:/1.png");

Работает нормально, я вижу прозрачность как клетчатый узор.

Ответы на вопрос(1)

Ваш ответ на вопрос