2010-12-14 6 views
1

J'ai un code quelque chose comme çaComment accéder à pointeur widget parent QT

Window::Window() 
{ 
    QStackedWidget *centralApp = new QStackedWidget; 
    QWidget1 *wgt1 = QWidget1; 
    QWidget2 *wgt2 = QWidget2; 
    QWidget3 *wgt3 = QWidget3; 

    centralApp->addWidget(wgt1); 
    centralApp->addWidget(wgt2); 
    centralApp->addWidget(wgt3); 
} 

Les classes QWidget1,QWidget2 et QWidget3 sont héritées de QWidget et chacun comporte deux boutons btn1 et btn2. Ces boutons je veux utiliser les deux boutons dans chaque widget pour naviguer vers deux autres widgets ajoutés au widget empilé. Donc, pour naviguer vers une autre page dans un widget empilé, je dois utiliser le setCurrentIndex() et pour cela j'ai besoin du pointeur parent QStackedWidget. Quelqu'un peut-il me suggérer comment je peux accéder au pointeur QStackedWidget à l'intérieur de ses widgets de page pour naviguer vers une autre page?

S'il vous plaît laissez-moi savoir si je ne suis pas clair dans l'explication du problème.

Répondre

5

j'aurais vos sous-classes émettent un signal - « suivant » et « précédent » par exemple - puis connectez ce signal dans la fenêtre principale pour passer un widget en cours de la QStackWidget. Sinon, vous associez étroitement vos widgets empilés d'une manière qui n'est pas nécessaire.