QStackedLayout的使用案例
时间: 2023-05-15 19:06:02 浏览: 59
QStackedLayout是一个Qt框架中的布局管理器,它可以在同一区域内显示多个窗口部件,但只有一个窗口部件是可见的。使用QStackedLayout可以轻松实现多个窗口部件之间的切换。以下是一个简单的QStackedLayout使用案例:
```cpp
#include <QApplication>
#include <QStackedLayout>
#include <QPushButton>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建QStackedLayout对象
QStackedLayout *stackedLayout = new QStackedLayout;
// 创建两个窗口部件
QPushButton *button = new QPushButton("Click me!");
QLabel *label = new QLabel("Hello, world!");
// 将窗口部件添加到QStackedLayout中
stackedLayout->addWidget(button);
stackedLayout->addWidget(label);
// 显示第一个窗口部件
stackedLayout->setCurrentIndex(0);
// 创建一个QWidget对象,并将QStackedLayout设置为其布局管理器
QWidget *widget = new QWidget;
widget->setLayout(stackedLayout);
// 显示QWidget对象
widget->show();
return a.exec();
}
```
在上面的代码中,我们创建了一个QStackedLayout对象,并向其中添加了两个窗口部件:一个QPushButton和一个QLabel。我们将QStackedLayout设置为QWidget的布局管理器,并将QWidget显示出来。当用户点击QPushButton时,我们可以通过调用QStackedLayout的setCurrentIndex()函数来切换到QLabel。