我有类似的代码
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,QWidget2
和QWidget3
继承自QWidget
,每个班级都包含两个按钮btn1
和btn2
。这些按钮我想使用每个小部件中的两个按钮导航到添加到堆叠小部件的其他两个小部件。因此,要导航到堆叠小部件中的其他页面,我必须使用setCurrentIndex()
,为此,我需要父QStackedWidget
指针。任何人都可以建议我如何访问其页面小部件内的QStackedWidget
指针以导航到另一个页面?
如果我不清楚解释问题,请告诉我。
答案 0 :(得分:5)
我希望你的子类发出一个信号 - 例如'next'和'prev' - 然后在你的主窗口中连接这个信号来切换QStackWidget
的当前小部件。
否则,您将以不必要的方式紧密耦合堆叠的小部件。
答案 1 :(得分:1)
http://doc.qt.io/archives/4.6/qwidget.html#parentWidget
(centralApp==wgt1->parentWidget()) //true