QStackedWidget navigation d'une page à

Je pense que je vais avoir assez de base de Qt problème, mais je ne peux pas la comprendre:

J'ai un QMainWindow qui est titulaire d'un QStackedWidget. La totalité de la page des widgets il y a séparer les classes dérivées de QWidget.

Donc:

QMainWindow implémente QStacked Fenêtre dans une classe.
Toutes les autres pages à l'intérieur de la pile de widget sont ajoutés des classes et tous ont leur propre .l'interface utilisateur rempli avec des boutons et des listes à travers le Designer.

Pour la navigation sur les différentes pages, à l'intérieur de la Mainwindow j'ai accès à: ui.stackedWidget->setCurrentIndex(2);

Il semble que je n'ai pas accès à l'interface utilisateur.stackedWidget sur une autre page à l'intérieur de la pile de widget? Je n'ai pas accès à l'interface utilisateur.stackedWidget parce que l'Interface utilisateur est un membre privé dans la classe mainwindow. (généré automatiquement par Qt - à l'aide de VS addon pour l'ajout de QT4 classes)

Je voudrais savoir, comment puis-je passer à une autre page dans le bac de widget, en cliquant sur un bouton qui appartient à une autre page à l'intérieur de ce widget?

Remarque:

Toutes les pages sont ajoutées à la StackedWidget dans mainWIndow constructeur:

ui.stackedWidget->addWidget(page1Widget);
ui.stackedWidget->addWidget(page2Widget);
//etc..

Exemple d'un clic sur un bouton signal-slot à l'intérieur de page1Widget:

connect(ui.btnViewData, SIGNAL(clicked()), this, SLOT(viewData()));

::viewData() 
{   
   //navigate to another page here. 
   //note: ui.stackedWidget->setCurrentIndex(3); is not accessible here!
}

OriginalL'auteur PathOfNeo | 2013-02-24