¿Cómo hacer que un widget Qt crezca con el tamaño de la ventana?
Quiero tener un pequeño QFormLayout
que crezca para llenar su widget padre.
He creado un nuevo .archivo ui usando la plantilla QWidget
en Qt Designer. Puse un QFormLayout
dentro de esa 'ventana', luego puse algunos controles dentro de ese QFormLayout
.
Todo esto funciona razonablemente bien, pero el QFormLayout
siempre se mantiene en el tamaño que establecí en Qt Designer. Me gustaría que el QFormLayout
para llenar su widget padre y crecer/reducir con él.
¿Cómo puedo lograr eso?
3 answers
En Designer, active el centralWidget y asigne un diseño, por ejemplo, horizontal o vertical. A continuación, su QFormLayout se redimensionará automáticamente.
Siempre asegúrese de que todos los widgets tienen un diseño! De lo contrario, el cambio de tamaño automático se romperá con ese widget!
Véase también
Los controles insisten en ser demasiado grandes, y no se redimensionan, en QtDesigner
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:43
Descubrí que era imposible asignar un diseño al centralwidget hasta que hubiera agregado al menos un hijo 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.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-11 02:57:31
La respuesta aceptada (su imagen) es incorrecta, al menos ahora en QT5. En su lugar, debe asignar un diseño al objeto raíz/widget (apuntando a la imagen antes mencionada, debe ser MainWindow
en lugar de centralWidget
). También tenga en cuenta que debe tener al menos un QObject
creado debajo de él para que esto funcione. Haga esto y su interfaz de usuario se volverá sensible al cambio de tamaño de la ventana.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-10 05:46:34