Lo que estoy tratando de lograr es que un widget pueda existir en dos diseños diferentes, en este caso en QHBoxLayout y en QVBoxLayout. Estoy implementando un sistema que cambia dinámicamente entre los dos diseños cuando cambia la orientación de la pantalla de un dispositivo.Qt: Mismo widget Dentro de dos diseños diferentes
Actualmente estoy creando, digamos que un widget compuesto complejo llamado MyWidget y añadiendo en un dos diseños diferentes:
MyWidget *wgt = new QWidget();
QVBoxLayout vlayout;
QHBoxLayout hlayout;
vlayout->addWidget(wgt);
hlayout->addWidget(wgt);
Ahora imagina que ambos diseños están alojados dentro de un diseño 'root', y que este diseño de raíz puede cambiar de tamaño en un modo de 'paisaje' más ancho que alto, y en un modo 'retrato' más alto que ancho.
El widget MyWidget se muestra correctamente solo en el primer diseño en el que se agrega, y cuando se cambian los diseños, se muestra incorrecto o no se muestra.
No sé si tengo algún sentido aquí, pero este es mi problema. Tal vez cuando se llame al evento switch, se deben cambiar el tamaño de todos los widgets y diseños para que siempre se vea bien. El único problema es que no sé cómo.
pregunta relacionada: http://stackoverflow.com/questions/2990283/qt-change-qwidget-layout – rubenvb