Renderização de QWidget para QImage perde o canal alfa

Eu tenho um widget Qt simples. É umQLabel com um estilo CSS simples aplicado. A parte importante do estilo é uma borda redonda:

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

É exibido na tela bem. Os cantos do rótulo além da borda são preenchidos com cores transparentes, por isso parece ótimo em qualquer plano de fundo. Aqui está como parece quando exibido sobre outro widget (que tem cor de fundo cinza escuro):

Agora, quando eu renderizo para QImage como assim

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

Eu recebo isso (imagem aberta no editor de imagem para demonstrar um problema claramente):

Observe como a transparência não é preservada nos cantos. Qual é o problema? Como posso renderizá-lo corretamente?

P. S. Eu tentei isso para testar que QImage é capaz de salvar canal alfa, e que meu editor de imagem exibe corretamente:

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

Ele funciona bem, eu posso ver a transparência como padrão xadrez.

questionAnswers(1)

yourAnswerToTheQuestion