La representación de QWidget a QImage pierde el canal alfa

Tengo un widget Qt simple. Es unQLabel Con un simple estilo CSS aplicado. La parte importante del estilo es un borde redondo:

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

Se muestra en pantalla bien. Las esquinas de la etiqueta más allá del borde están rellenas de color transparente, por lo que se ve bien en cualquier fondo. Así es como se ve cuando se muestra sobre otro widget (que tiene un color de fondo gris oscuro):

Ahora, cuando lo muestro a QImage asi

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

Obtengo esto (imagen abierta en el editor de imágenes para demostrar un problema claramente):

Observe cómo la transparencia no se conserva en las esquinas. ¿Cuál es el problema? ¿Cómo puedo renderizarlo correctamente?

P. S. He intentado esto para probar que QImage es capaz de guardar el canal alfa, y que mi editor de imágenes lo muestra correctamente:

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

Funciona bien, puedo ver la transparencia como un patrón a cuadros.

Respuestas a la pregunta(1)

Su respuesta a la pregunta