Ya vistos los ejemplos anteriores, ahora se tiene que la forma de la aplicación no es la deseada. Como en el ejemplo Personalizar tus ventanas en Qt::Ventanas sin marcos (con movilidad en el escritorio) solo que se tiene que añadir estas lineas de código.
Eso se puede resolver de la siguiente manera.
Si bien se puede modificar el método
QSize sizeHint() const;//DEFINE EL TAMAÑO INICIAL DE LA VENTANA
del primer ejemplo, eso no nos permitira darle la forma real que queremos.
En cambio lo haremos con un nuevo metodo que vamos a reescribir.
Archivo cabecera
void resizeEvent(QResizeEvent *event);// DEFINE EL ESPACIO VISIBLE DE LA APLICACION, EN ESTE CASO LA ELIPSE
Archivo CPP
void SinMarco::resizeEvent(QResizeEvent * /* event */) {// DEFINE EL ESPACIO VISIBLE DE LA APLICACION, EN ESTE CASO UNA ELIPSE
// USAR SOLO UNO DE LAS DOS FORMAS
//QRegion maskedRegion(10, 10, 1000, 130, QRegion::Rectangle);
QRegion maskedRegion(10, 10, 1000, 130, QRegion::Elipse); // EL CENTRO DE ESTA ELIPSE ES (10+1000)/2 Y (10+130)/2
setMask(maskedRegion);
}
Tambien para este ejemplo se puede usar poligonos.
Y así ya tenemos una ventana diferente a las ventanas cuadradas aburridas : ).