c++ 实现qt切换界面
时间: 2023-10-02 16:08:45 浏览: 236
在 Qt 中,我们可以使用 QStackedWidget 控件来实现界面切换。QStackedWidget 控件是一个带有多个子控件的容器,只有当前子控件是可见的。
下面是实现步骤:
1. 首先,在 Qt Designer 中创建多个界面,每个界面对应一个 QWidget 控件。
2. 将这些 QWidget 控件添加到 QStackedWidget 控件中。
3. 在代码中,使用 QStackedWidget 的 setCurrentIndex() 方法来切换当前显示的界面。
下面是示例代码:
```
// 创建 QStackedWidget 控件
QStackedWidget *stackedWidget = new QStackedWidget(this);
// 创建多个界面,并添加到 stackedWidget 中
QWidget *page1 = new QWidget;
QWidget *page2 = new QWidget;
stackedWidget->addWidget(page1);
stackedWidget->addWidget(page2);
// 切换到第二个界面
stackedWidget->setCurrentIndex(1);
```
在实际应用中,我们可以通过按钮等控件来触发界面切换。例如,下面的代码在按钮被点击时切换到第二个界面:
```
connect(button, &QPushButton::clicked, [=]() {
stackedWidget->setCurrentIndex(1);
});
```
注意,上面的代码使用了 C++11 的 Lambda 表达式来简化代码。如果你使用的是旧版的 C++,则需要使用槽函数来实现类似的功能。
阅读全文