Renderowanie QWidget do QImage traci kanał alfa

Mam prosty widget Qt. To jestQLabel z prostym stylem CSS. Ważną częścią stylu jest okrągła granica:

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

Jest wyświetlany na ekranie w porządku. Narożniki etykiety poza obramowaniem są wypełnione przezroczystym kolorem, więc wygląda świetnie na każdym tle. Oto jak wygląda, gdy jest wyświetlany nad innym widżetem (który ma ciemnoszary kolor tła):

Teraz, kiedy renderuję go do QImage w ten sposób

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

Dostaję to (obraz został otwarty w edytorze obrazów, aby wyraźnie pokazać problem):

Zauważ, że przezroczystość nie jest zachowywana w rogach. Jaki jest problem? Jak mogę renderować poprawnie?

P. S. Próbowałem tego, aby sprawdzić, czy QImage jest w stanie zapisać kanał alfa, i że mój edytor obrazów wyświetla go poprawnie:

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

Działa dobrze, widzę przezroczystość jako wzór w kratkę.

questionAnswers(1)

yourAnswerToTheQuestion