Pregunta

En mi aplicación QT que utilice un QTabWidget para la navegación de base. Esta configuración QTabWidget I en la interfaz de usuario. En algunas de las pestañas de la necesidad de tener que QTabWidget QStackedWidget ser capaz de "profundizar en la vista".

He intentado añadir el QStackedWidget dentro de la interfaz de usuario también pero añade automáticamente una página a la pila. Quiero añadir las páginas para la QStackedWidget de código en su lugar. Si en el código intenta hacer esto el stackedWidget ya tienen una página estándar, de modo MyWidget será el segundo en la pila.

MyWidget *myWidget = new MyWidget(ui.stackedWidget);
ui.stackedWidget->addWidget(myWidget);

¿Cuál es la mejor y más fácil de configurar una ficha QStackedWidget dentro QTabWidget?

¿Fue útil?

Solución

¿Qué hay de:

QTabWidget *myTabWidget = new QTabWidget(this);
QStackedWidget *myStackedWidget = new QStackedWidget(myTabWidget);

myTabWidget->addTab(myStackedWidget, "Stacked Widget");

También puede eliminar todas las páginas existentes en la pila diseñador / creador de Qt. Simplemente haga clic derecho en el widget apilados y eliminar todas las páginas existentes. A continuación, puede agregar las páginas necesarias en el código usando addWidget().

Otros consejos

Yo diría que - crear en la interfaz de usuario, tal como lo hace (de esta manera es más fácil de diseño / posición, añadir otros widgets en la pestaña más tarde, etc), pero basta con quitar todas las páginas existentes (añadido por el diseñador) de código y añadir los nuevos.

En realidad diseñador de Qt 4.6 permite eliminar todas las páginas de apilado Widget - Tienes que hacer clic derecho, ir al submenú "Página X de Y", y elija Eliminar. Repita hasta que todas las páginas se han ido:)

Tal vez esto que añade al diseñador hace muy poco, por lo que todavía puede ser necesario eliminarlos del código si usted tiene una versión anterior de Qt.

Hablando de guardar cosas dentro de la interfaz de usuario en contra de mantener en el código votaría por "tanto en la interfaz de usuario en archivos como sea posible":)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top