QStackedWidget是Qt中的一个容器控件,它可以在同一区域内显示多个子窗口。这些子窗口被堆叠在一起,每次只有当前窗口可见。
使用QStackedWidget,可以实现多个功能界面在同一个区域内切换显示的效果。比如,在一个主窗口中切换不同的子窗口来实现不同的操作界面。
QStackedWidget提供了以下几个方法:
- void addWidget(QWidget *widget):向容器添加一个子窗口。
- void setCurrentIndex(int index):设置当前可见的子窗口索引。
- int currentIndex() const:返回当前可见的子窗口索引。
- QWidget *currentWidget() const:返回当前可见的子窗口。
示例代码:
// 创建QStackedWidget
QStackedWidget *stackedWidget = new QStackedWidget(this);
// 添加两个QWidget作为子窗口
QWidget *widget1 = new QWidget();
QWidget *widget2 = new QWidget();
stackedWidget->addWidget(widget1);
stackedWidget->addWidget(widget2);
// 切换到第二个子窗口
stackedWidget->setCurrentIndex(1);
// 获取当前可见的子窗口
QWidget *current = stackedWidget->currentWidget();