2011-03-09 10 views
9

Hice un "widget" en Qt Designer con una docena de controles organizados en horiz. y vert. diseños. Curiosamente, cada diseño horizontal quiere ser de gran tamaño, alrededor de 400 px de ancho, cuando toda la forma se establece en 275px de ancho. Los botones contenidos en el interior son demasiado anchos para la forma. Cuando cambio el tamaño de la forma del widget vertical u horizontalmente (a veces con el ancho máximo desactivado), los distintos diseños no cambiarán de tamaño. Anchos de ajuste manual (o anchuras mínimas o máximas) puede afectar el tamaño de los controles, pero no su espaciado dentro del diseño. Espaciadores insertados para mantener algunos controles en la parte superior y otros en la parte inferior con un espacio flexible entre ellos, simplemente no funcionan en absoluto.Los controles insisten en ser demasiado grandes, y no cambiarán de tamaño, en QtDesigner

¿Qué cosa (probablemente) obvia estoy pasando por alto?

(Normalmente no soy un programador de aplicaciones o GUI, un hombre de las cavernas total en este.)

+1

Reduzca esto al caso más simple que todavía muestra el problema, y ​​publique su archivo .ui aquí. – TonyK

+0

Quizás agregue una captura de pantalla o diagrama que transmita el problema. –

Respuesta

30

No se culpe, creo que la lógica de diseño de Qt es un poco confuso cuando se empieza a tratar. Si entendí bien lo que dice, el contenido del formulario no está "conectado", es decir, no está redimensionando y no está restringido por el tamaño del formulario, ¿verdad? Creo que se ha perdido establecer un "diseño de widget central". intente lo siguiente:

  1. Abra el formulario haciendo doble clic en él en QtCreator (yo no uso la QtDesigner con frecuencia, pero creo que el editor de diseño es casi la misma en ambos herramientas).

  2. Vaya a la ventana superior derecha (la que tiene 2 columnas "Clase de objeto") y haga clic con el botón derecho del mouse en el objeto raíz (por ejemplo, Ventana principal).

  3. Aparecerá un menú contextual. Haga clic en "Trace" (último elemento del menú) y seleccione "Diseño vertical" o "Diseño horizontalmente"

enter image description here

Estas acciones crearán una disposición sobre el objeto centralWidget. Si selecciona el "widget central" en la ventana "Clase de objeto", puede ver & cambiar las propiedades de diseño en la ventana de valor de propiedad (abajo a la derecha); son las últimas propiedades en la lista.

Lo que es más importante, después de agregar un diseño en su widget central, el contenido de su formulario debe redimensionarse a lo largo de & limitado por el tamaño de su formulario.

Espero que esto ayude.

Cuestiones relacionadas