¿Cómo hacer que un Qt Widget crezca con el tamaño de la ventana?

Resuelto bastibe asked hace 13 años • 4 respuestas

Quiero tener un widget pequeño QFormLayoutque crezca hasta llenar su widget principal.

Creé un nuevo archivo .uiQWidget usando la plantilla en Qt Designer. Puse un QFormLayoutdentro de esa 'ventana', luego puse algunos controles dentro de eso QFormLayout.

Todo esto funciona razonablemente bien, pero QFormLayoutsiempre permanece en el tamaño que configuré en Qt Designer. Me gustaría QFormLayoutllenar su widget principal y crecer/reducir con él.

¿Cómo puedo lograr eso?

bastibe avatar May 18 '11 19:05 bastibe
Aceptado

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.

Imagen del diseñador

¡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

Jens avatar May 18 '2011 13:05 Jens

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.

Jillian Beuschel Marohnic avatar Jan 11 '2013 02:01 Jillian Beuschel Marohnic

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 MainWindowlugar de centralWidget). También tenga en cuenta que debe tener al menos uno QObjectcreado debajo para que esto funcione. Haga esto y su interfaz de usuario responderá al cambio de tamaño de la ventana.

KeyC0de avatar Aug 10 '2018 05:08 KeyC0de

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: ingrese la descripción de la imagen aquí

A algo como esto:

ingrese la descripción de la imagen aquí

Linh Dao avatar May 12 '2020 10:05 Linh Dao