¿Cómo hacer que un Qt Widget crezca con el tamaño de la ventana?
Quiero tener un widget pequeño QFormLayout
que crezca hasta llenar su widget principal.
Creé un nuevo archivo .uiQWidget
usando la plantilla en Qt Designer. Puse un QFormLayout
dentro de esa 'ventana', luego puse algunos controles dentro de eso QFormLayout
.
Todo esto funciona razonablemente bien, pero QFormLayout
siempre permanece en el tamaño que configuré en Qt Designer. Me gustaría QFormLayout
llenar su widget principal y crecer/reducir con él.
¿Cómo puedo lograr eso?
En Designer, active el widget central y asigne un diseño, por ejemplo, diseño horizontal o vertical. Entonces su QFormLayout cambiará de tamaño automáticamente.
¡Asegúrate siempre de que todos los widgets tengan un diseño! De lo contrario, el cambio de tamaño automático se romperá con ese widget.
Ver también
Los controles insisten en ser demasiado grandes y no cambian de tamaño en QtDesigner
Descubrí que era imposible asignar un diseño al widget central hasta que hubiera agregado al menos un niño debajo de él. Luego podría resaltar el pequeño icono con la marca roja "deshabilitado" y luego hacer clic en un diseño en la barra de herramientas del Diseñador en la parte superior.
La respuesta aceptada (su imagen) es incorrecta, al menos ahora en QT5. En su lugar, debe asignar un diseño al objeto/widget raíz (apuntando a la imagen antes mencionada, debería ser en MainWindow
lugar de centralWidget
). También tenga en cuenta que debe tener al menos uno QObject
creado debajo para que esto funcione. Haga esto y su interfaz de usuario responderá al cambio de tamaño de la ventana.
Debe cambiar el tipo de diseño predeterminado del objeto QWidget de nivel superior del tipo de diseño Romper a otros tipos de diseño (Diseño vertical, Diseño horizontal, Diseño de cuadrícula, Diseño de formulario) presionando uno de los botones de la barra de herramientas relacionados con el diseño. Por ejemplo:
A algo como esto: