qt 一个widget拆分两页
时间: 2023-09-18 15:09:36 浏览: 93
自定义QTableWidget实现分页。
您可以使用QStackedWidget来实现将一个widget拆分成两页的效果。QStackedWidget是一个可以容纳多个子widget的容器,但只会显示其中一个子widget。您可以通过切换当前显示的子widget来实现页面的切换。
下面是一个简单的示例代码:
```cpp
#include <QtWidgets>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget widget;
QVBoxLayout layout(&widget);
QStackedWidget stackedWidget;
// 创建第一页的widget
QWidget page1;
QVBoxLayout layout1(&page1);
QLabel label1("这是第一页");
layout1.addWidget(&label1);
// 创建第二页的widget
QWidget page2;
QVBoxLayout layout2(&page2);
QLabel label2("这是第二页");
layout2.addWidget(&label2);
stackedWidget.addWidget(&page1);
stackedWidget.addWidget(&page2);
QPushButton button("切换页面");
QObject::connect(&button, &QPushButton::clicked, [&stackedWidget]() {
int currentIndex = stackedWidget.currentIndex();
int nextPageIndex = (currentIndex + 1) % stackedWidget.count();
stackedWidget.setCurrentIndex(nextPageIndex);
});
layout.addWidget(&stackedWidget);
layout.addWidget(&button);
widget.show();
return app.exec();
}
```
在上面的代码中,我们创建了一个主窗口widget,并添加了一个垂直布局来容纳QStackedWidget和按钮。然后,我们创建了两个子widget(即两个页面),并将它们添加到QStackedWidget中。通过点击按钮,我们可以切换当前显示的页面。
您可以根据自己的需求修改和扩展这个示例代码,以满足您的实际应用场景。希望对您有所帮助!
阅读全文