qt widget 叠放
时间: 2023-11-22 14:06:15 浏览: 50
可以使用QStackedWidget实现Qt Widget的叠放。QStackedWidget是一个容器,可以在其中添加多个QWidget,但是只有一个QWidget是可见的。可以使用setCurrentWidget()函数来设置当前可见的QWidget。下面是一个简单的例子:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QStackedWidget, QVBoxLayout, QPushButton
app = QApplication([])
stacked_widget = QStackedWidget()
# 添加两个QWidget
widget1 = QWidget()
widget1.setStyleSheet("background-color: red")
widget2 = QWidget()
widget2.setStyleSheet("background-color: blue")
stacked_widget.addWidget(widget1)
stacked_widget.addWidget(widget2)
# 添加一个按钮,用于切换QWidget
button = QPushButton("Switch Widget")
button.clicked.connect(lambda: stacked_widget.setCurrentWidget(widget2 if stacked_widget.currentWidget() == widget1 else widget1))
# 将QStackedWidget和按钮添加到主QWidget中
layout = QVBoxLayout()
layout.addWidget(stacked_widget)
layout.addWidget(button)
main_widget = QWidget()
main_widget.setLayout(layout)
main_widget.show()
app.exec_()
```