使用pyside6的QstackedWidget绘制两个页面的窗口,并有两个按钮进行窗口的切换
时间: 2023-05-11 15:02:38 浏览: 158
可以使用以下代码实现:
```python
import sys
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QStackedWidget, QVBoxLayout
class Window(QWidget):
def __init__(self):
super().__init__()
# 创建两个页面
self.page1 = QWidget()
self.page2 = QWidget()
# 在页面1上添加一个按钮
self.button1 = QPushButton('切换到页面2')
self.button1.clicked.connect(self.show_page2)
layout1 = QVBoxLayout()
layout1.addWidget(self.button1)
self.page1.setLayout(layout1)
# 在页面2上添加一个按钮
self.button2 = QPushButton('切换到页面1')
self.button2.clicked.connect(self.show_page1)
layout2 = QVBoxLayout()
layout2.addWidget(self.button2)
self.page2.setLayout(layout2)
# 创建一个QStackedWidget,并将两个页面添加到其中
self.stacked_widget = QStackedWidget()
self.stacked_widget.addWidget(self.page1)
self.stacked_widget.addWidget(self.page2)
# 设置窗口布局
layout = QVBoxLayout()
layout.addWidget(self.stacked_widget)
self.setLayout(layout)
def show_page1(self):
self.stacked_widget.setCurrentIndex(0)
def show_page2(self):
self.stacked_widget.setCurrentIndex(1)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
```
这段代码使用 PySide6 创建了一个窗口,其中包含两个页面,每个页面上都有一个按钮,用于切换到另一个页面。QStackedWidget 用于管理这两个页面,可以通过 setCurrentIndex() 方法来切换页面。
阅读全文