如何在QT中访问父窗口小部件指针

时间:2010-12-14 03:05:30

标签: qt pointers navigation widget parent-child

我有类似的代码

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

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

班级QWidget1,QWidget2QWidget3继承自QWidget,每个班级都包含两个按钮btn1btn2。这些按钮我想使用每个小部件中的两个按钮导航到添加到堆叠小部件的其他两个小部件。因此,要导航到堆叠小部件中的其他页面,我必须使用setCurrentIndex(),为此,我需要父QStackedWidget指针。任何人都可以建议我如何访问其页面小部件内的QStackedWidget指针以导航到另一个页面?

如果我不清楚解释问题,请告诉我。

2 个答案:

答案 0 :(得分:5)

我希望你的子类发出一个信号 - 例如'next'和'prev' - 然后在你的主窗口中连接这个信号来切换QStackWidget的当前小部件。

否则,您将以不必要的方式紧密耦合堆叠的小部件。

答案 1 :(得分:1)

http://doc.qt.io/archives/4.6/qwidget.html#parentWidget

(centralApp==wgt1->parentWidget()) //true