2009-10-25 18 views
9

¿Cómo superpongo los widgets en Qt?Qt Widget Overlays

que quieren crear algunos widgets y colocarlos fuera de diseño, sino más bien ajustar su tamaño y posición cuando se cambia la geometría de otro control.

Algo así como los botones de la pantalla:

alt text

Respuesta

9

sólo tiene que crear su QPushButton (o cualquier QWidget), indican su matriz QWidget y luego mostrarlo.

No añadirlo a la disposición de los padres de lo contrario no será capaz de moverse como quiera.

No se olvide de indicar su padre de lo contrario se mostrará como QWidget independiente.

En estas condiciones el QPushButton será considerado como hijo del QWidget pero no miembro de la disposición de los padres. Por lo tanto, será un niño "flotante" y debe gestionar su comportamiento al redimensionar el QWidget de los padres.

Si desea un comportamiento unificado para todos los botones de superposición, debe crear la subclase QLayout y redefinir el comportamiento de los miembros.

+0

Por el derecho alineación se ve en la captura de pantalla, se puede reimplementar resizeEvent() para el widget principal y mueva los widgets secundarios manualmente allí. –

3

Si son hijos de un control sin una presentación, se debe ser capaz de moverlos a su gusto, creo.

2

que necesitaba un widget como éste para un proyecto que estoy trabajando, por lo que tomó el consejo Patrice y escribió el código (Python) PyQt4 Widget Overlay