QStackedWidget 可以切换MainWindow吗
时间: 2023-08-14 09:22:31 浏览: 100
是的,QStackedWidget 可以用于在 MainWindow 中进行页面切换。你可以将 QStackedWidget 放置在 MainWindow 中的一个区域,并在其中添加多个页面。然后,你可以使用 QStackedWidget 的 setCurrentIndex 方法来切换页面。具体来说,当用户执行某个操作时,你可以调用 setCurrentIndex 方法,并传递要切换到的页面的索引。例如,你可以将一个 QPushButton 绑定到一个槽函数,该函数在按钮被点击时切换到下一个页面。
以下是一个简单的示例代码,演示如何在 MainWindow 中使用 QStackedWidget 进行页面切换:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QWidget, QVBoxLayout, QStackedWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个 QStackedWidget
self.stacked_widget = QStackedWidget()
self.setCentralWidget(self.stacked_widget)
# 创建两个页面,并将它们添加到 QStackedWidget 中
self.page1 = QWidget()
self.page1_layout = QVBoxLayout()
self.page1_layout.addWidget(QPushButton('Go to page 2', clicked=self.go_to_page2))
self.page1.setLayout(self.page1_layout)
self.stacked_widget.addWidget(self.page1)
self.page2 = QWidget()
self.page2_layout = QVBoxLayout()
self.page2_layout.addWidget(QPushButton('Go back to page 1', clicked=self.go_to_page1))
self.page2.setLayout(self.page2_layout)
self.stacked_widget.addWidget(self.page2)
def go_to_page1(self):
self.stacked_widget.setCurrentIndex(0)
def go_to_page2(self):
self.stacked_widget.setCurrentIndex(1)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,我们创建了一个 MainWindow,并将一个 QStackedWidget 设置为中心窗口部件。然后,我们创建了两个页面,并将它们添加到 QStackedWidget 中。第一个页面包含一个按钮,当用户点击它时,会切换到第二个页面。第二个页面也包含一个按钮,当用户点击它时,会切换回第一个页面。注意,我们使用 setCurrentIndex 方法来切换页面,其中 0 表示第一个页面,1 表示第二个页面。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![-](https://img-home.csdnimg.cn/images/20241231044736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)