pyqt QStackedLayout 代码
时间: 2024-10-23 19:13:56 浏览: 18
py代码-PyQt5多行文本框控件QTextEdit简介
PyQt中的QStackedLayout是一个用于创建堆叠布局管理器的工具,它允许你在窗体或其他容器中添加多个可切换的子部件。下面是一个简单的例子展示了如何在PyQt5中使用QStackedLayout:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QStackedLayout, QPushButton
class StackExample(QWidget):
def __init__(self):
super(StackExample, self).__init__()
# 创建一个窗口
self.setWindowTitle("QStackedLayout Example")
self.setGeometry(100, 100, 400, 300)
# 创建一个QStackedLayout作为主要内容区域
self.stack_layout = QStackedLayout(self)
# 添加两个子部件到布局
widget1 = QWidget()
widget1_layout = QVBoxLayout(widget1)
widget1_layout.addWidget(QPushButton("Widget 1"))
self.stack_layout.addWidget(widget1)
widget2 = QWidget()
widget2_layout = QVBoxLayout(widget2)
widget2_layout.addWidget(QPushButton("Widget 2"))
self.stack_layout.addWidget(widget2)
# 将布局设置为窗口内容
self.setLayout(self.stack_layout)
# 设置默认显示第一个部件
self.stack_layout.setCurrentIndex(0)
if __name__ == "__main__":
app = QApplication([])
ex = StackExample()
ex.show()
app.exec_()
```
在这个例子中,当你运行程序时,你会看到一个包含两个按钮(分别标记为"Widget 1"和"Widget 2")的窗口。点击每个按钮,对应的子部件会显示在堆叠视图上。
阅读全文