pyside6 stackedWidget
时间: 2024-08-14 10:04:44 浏览: 67
PySide6小项目总结
PySide6是一个Qt库的Python绑定,它提供了一个叫做`QStackedWidget`的组件,它允许你在窗口或对话框中创建堆叠式布局。`QStackedWidget`的作用类似于容器,里面可以包含多个独立的`QWidget`实例,每个实例称为一个“页面”。用户可以通过点击按钮、菜单选项或其他导航控件,动态地切换显示哪个页面,而其他页面会被隐藏起来。
当你使用`QStackedWidget`时,你可以像添加普通`QWidget`那样添加页面,并通过`addWidget()`方法将它们添加到堆栈顶部。然后,你可以使用`setCurrentIndex()`方法来指定默认展示哪一页,或者响应信号如`currentChanged[int]`来获取当前选中的页面索引。
以下是简单的使用示例:
```python
from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton, QStackedWidget
class Page(QWidget):
def __init__(self, index):
super().__init__()
self.index = index
self.setWindowTitle(f"Page {index}")
app = QApplication([])
main_window = QMainWindow()
stacked_widget = QStackedWidget(main_window)
# 创建两个页面
page1 = Page(1)
page2 = Page(2)
# 将页面添加到堆栈
stacked_widget.addWidget(page1)
stacked_widget.addWidget(page2)
# 设置初始显示页面
stacked_widget.setCurrentIndex(0)
# 添加按钮切换页面
button = QPushButton("Switch to Page 2")
button.clicked.connect(lambda: stacked_widget.setCurrentIndex(1))
layout = QVBoxLayout()
layout.addWidget(button)
main_window.setCentralWidget(stacked_widget)
main_window.show()
app.exec_()
```
阅读全文