Question

Dans ma demande QT-je utiliser un QTabWidget pour la navigation de base. Cette configuration QTabWidget I dans l'interface. Dans certains des onglets du QTabWidget je dois avoir QStackedWidget pour pouvoir « percer dans la vue ».

J'ai essayé d'ajouter le QStackedWidget dans l'interface aussi, mais il ajoute automatiquement une page à la pile. Je veux ajouter les pages du QStackedWidget dans le code à la place. Si je le code essaie de faire le stackedWidget ont déjà une page standard si MyWidget sera le deuxième dans la pile.

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

Quelle est la meilleure et la plus simple d'installer un onglet à l'intérieur QStackedWidget QTabWidget?

Était-ce utile?

La solution

Que diriez-vous:

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

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

Vous pouvez également supprimer toutes les pages de la pile existante dans Designer / Créateur de Qt. Juste un clic droit sur le widget empilés et supprimer toutes les pages existantes. Ensuite, vous pouvez ajouter les pages nécessaires dans le code à l'aide addWidget().

Autres conseils

Je dirais - créer dans ui, comme vous le faites (cette façon, il est plus facile de mise en page / poste, ajouter d'autres widgets sur l'onglet plus tard, etc.), mais il suffit de supprimer toutes les pages existantes (ajouté par le designer) de code et ajouter vos nouvelles.

En fait Designer de Qt 4.6 permet de supprimer toutes les pages de Widget empilés - vous devez faire un clic droit, aller au sous-menu « page X de Y », et choisissez Supprimer. Répétez jusqu'à ce que toutes les pages ont disparu:)

Peut-être que cela a ajouté au Designer tout récemment, de sorte que vous pouvez encore avoir besoin de les retirer du code si vous avez une version antérieure de Qt.

En parlant de garder des choses à l'intérieur ui contre le maintien dans le code je voterais pour « autant dans le fichier de l'interface utilisateur que possible »:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top