Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: TaLaP0 XoR BiT en 19 Junio 2013, 08:53 am



Título: Duda MdiArea en QT
Publicado por: TaLaP0 XoR BiT en 19 Junio 2013, 08:53 am
Buenas a todos. Ya tenia ratos de no pasarme para el foro. Sucede que hace unos dias me involucre en el aprendizaje de QT. Estoy haciendo algunas practicas y el IDE me parecio fascinante.
Tengo una duda con respecto al widget MdiArea. Como hago desde el .ui, que dicha area al cambiar de tamaño la ventana esta se mantenga completa?? probe con los layouts pero aun asi sigue dando ese problema. Alguno que haya usado QT y me puda hechar una mano  :huh: . Gracias.


Título: Re: Duda MdiArea en QT
Publicado por: eferion en 26 Junio 2013, 16:43 pm
Si he entendido bien tu tienes un MdiArea en una ventana y lo que sucede es que al redimensionar la ventana el MdiArea no se ajusta al nuevo tamaño.

Si es así el problema es que estás creando un layout "tonto" que no está vinculado a la ventana.

Si tu haces una composición de varios controles con layouts puedes comprobar que, efectivamente, al modificar el layout "padre" todo el contenido se adapta al tamaño de dicho layout... sin embargo si cambias el tamaño del control que contiene al layout este no se entera.

Para solucionar esto tienes que crear un layout asociado al contenedor... donde contenedor en este caso es la ventana. Esto se consigue de una forma muy sencilla... desde el QtCreator... o QtDesigner... seleccionas el contenedor y elijes en el menú superior uno de los 4 tipos diferentes de layouts... al hacer esto te crea un layout vinculado al contenedor y que, a diferencia del resto de layouts, no dibuja un rectángulo rojo indicando su presencia.

Para eliminar este layout el procedimiento es similar. Seleccionas el contenedor y en el menú elijes la opción de romper el layout ( es el botón que está después de los 4 tipos diferentes de layouts ).

Espero que te sirvan estos pasos.

Un saludo.


Título: Re: Duda MdiArea en QT
Publicado por: TaLaP0 XoR BiT en 30 Junio 2013, 01:32 am
Gracias esa era la solucion. lo probe y me funciono  ;-)