Tutorial de Widgets - Uso de Layouts
Normalmente, los widgets hijos se organizan dentro de una ventana utilizando objetos de diseño en lugar de especificar posiciones y tamaños explícitamente. Aquí, construimos una etiqueta y un widget de edición de línea que nos gustaría organizar uno al lado del otro.
#include <QtWidgets> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget window; QLabel *label = new QLabel(QApplication::translate("windowlayout", "Name:")); QLineEdit *lineEdit = new QLineEdit(); QHBoxLayout *layout = new QHBoxLayout(); layout->addWidget(label); layout->addWidget(lineEdit); window.setLayout(layout); window.setWindowTitle( QApplication::translate("windowlayout", "Window layout")); window.show(); return app.exec(); } |
![]() |
El objeto layout que construimos gestiona las posiciones y tamaños de los widgets que se le suministran con la función addWidget(). El propio diseño se suministra a la ventana en la llamada a setLayout(). Los diseños sólo son visibles a través de los efectos que tienen sobre los widgets (y otros diseños) que son responsables de gestionar.
En el ejemplo anterior, la propiedad de cada widget no está inmediatamente clara. Dado que construimos los widgets y el diseño sin objetos padre, esperaríamos ver una ventana vacía y dos ventanas separadas conteniendo una etiqueta y una línea de edición. Sin embargo, cuando le decimos al layout que gestione la etiqueta y la edición de línea y establecemos el layout en la ventana, tanto los widgets como el propio layout son ''reparentados'' para convertirse en hijos de la ventana.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.
