QStackedWidget 是 Qt 框架中的一个非常有用的容器类,它允许你在多个小部件(widgets)之间进行切换,而每次只有一个小部件是可见的。这个小部件堆栈的概念类似于一叠纸牌,其中每次只能看到顶部的一张牌。当你想要切换到另一个小部件时,你可以将其“移到顶部”或使其可见,同时隐藏当前可见的小部件。
基本用法
- 创建 QStackedWidget:首先,你需要创建一个 QStackedWidget 实例。
- 添加小部件:使用 addWidget() 方法将小部件添加到堆栈中。你可以为每个小部件指定一个唯一的标识符(通常是一个整数)或一个字符串名称,以便稍后能够引用它。
- 切换小部件:使用 setCurrentIndex() 或 setCurrentWidget() 方法来切换当前可见的小部件。你可以通过索引或之前添加小部件时指定的对象来引用它。
- 布局和显示:像处理其他 Qt 小部件一样,将 QStackedWidget 添加到你的主窗口或布局中,并设置其大小和位置。
示例代码
下面是一个简单的示例代码,展示了如何使用 QStackedWidget:
#include <QApplication>
#include <QStackedWidget>
#include <QPushButton>
#include <QLabel>
#include <QVBoxLayout>
#include <QWidget>
int main(int argc, char *argv[]) {