QWidget* parentWidget = new QWidget; // 创建父QWidget QStackedLayout* stackedLayout = new QStackedLayout(parentWidget); // 创建QStackedLayout并设置为父QWidget的布局 // 添加子部件到QStackedLayout中 stackedLayout->addWidget(tableWidget); stackedLayout->addWidget(tableWidget2); parentWidget->setLayout(stackedLayout); // 设置父QWidget的布局为QStackedLayout parentWidget->setGeometry(100, 100, 1800, 1000); // 设置父QWidget的位置和大小,怎麽切換頁面
时间: 2023-12-04 07:37:50 浏览: 87
Qt+ContentMargin+QWidget设置内容边距
要切换QStackedLayout中的页面,可以使用setCurrentIndex函数。该函数接受一个整数参数,表示要显示的页面的索引。
在你的代码中,你可以通过以下方式来实现页面切换:
```cpp
// 创建一个QPushButton,用于触发页面切换
QPushButton* switchButton = new QPushButton("Switch", parentWidget);
// 连接按钮的点击事件到槽函数
QObject::connect(switchButton, &QPushButton::clicked, [&stackedLayout]() {
int currentIdx = stackedLayout->currentIndex(); // 获取当前页面的索引
// 切换到下一个页面
int nextIdx = (currentIdx + 1) % stackedLayout->count();
stackedLayout->setCurrentIndex(nextIdx);
});
// 其他代码...
```
在上面的代码中,我们创建了一个QPushButton按钮,并将其父QWidget设置为parentWidget。然后,我们使用lambda表达式连接了按钮的clicked信号到一个槽函数。在槽函数中,我们先获取当前页面的索引,然后计算出下一个页面的索引(循环切换)。最后,使用setCurrentIndex函数将QStackedLayout的当前页面设置为下一个页面。
这样,当点击按钮时,就会触发页面切换。你可以根据需要修改按钮的文本和样式。
阅读全文