QT利用信号与槽进行页面的切换
时间: 2023-09-19 21:07:10 浏览: 121
在 Qt 中,可以利用信号与槽机制实现页面切换。具体步骤如下:
1. 在 Qt Designer 中创建需要切换的页面,例如 Page1 和 Page2。
2. 在 Page1 中添加按钮,例如按钮 btnSwitchPage。
3. 在 Page1 对应的类中,为 btnSwitchPage 按钮添加 clicked() 信号的槽函数。
例如:
```
connect(ui->btnSwitchPage, &QPushButton::clicked, this, &MainWindow::onBtnSwitchPageClicked);
```
4. 在槽函数 onBtnSwitchPageClicked() 中,利用 QStackedWidget 控件的 setCurrentIndex() 函数切换页面。
例如:
```
void MainWindow::onBtnSwitchPageClicked()
{
ui->stackedWidget->setCurrentIndex(1); // 切换到 Page2
}
```
5. 在 Page2 对应的类中,添加返回按钮,例如按钮 btnReturn。
6. 在 Page2 对应的类中,为 btnReturn 按钮添加 clicked() 信号的槽函数。
例如:
```
connect(ui->btnReturn, &QPushButton::clicked, this, &MainWindow::onBtnReturnClicked);
```
7. 在槽函数 onBtnReturnClicked() 中,利用 QStackedWidget 控件的 setCurrentIndex() 函数切换回 Page1。
例如:
```
void MainWindow::onBtnReturnClicked()
{
ui->stackedWidget->setCurrentIndex(0); // 切换回 Page1
}
```
注意:在利用信号与槽进行页面切换时,需要注意槽函数的连接方式以及 QStackedWidget 控件的指针获取方式。