pyqt5中removeWidget
时间: 2023-10-15 20:05:58 浏览: 145
在 PyQt5 中,可以使用 `QStackedWidget` 来管理多个窗口或部件,并且可以使用 `removeWidget` 方法从堆栈中删除一个部件。以下是一个示例:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QStackedWidget
class Window(QWidget):
def __init__(self):
super().__init__()
# 创建一个堆栈窗口
self.stacked_widget = QStackedWidget()
# 创建两个部件
self.widget1 = QWidget()
self.widget2 = QWidget()
# 将两个部件添加到堆栈中
self.stacked_widget.addWidget(self.widget1)
self.stacked_widget.addWidget(self.widget2)
# 创建一个按钮,用于删除第二个部件
self.remove_button = QPushButton('Remove Widget 2')
self.remove_button.clicked.connect(self.remove_widget2)
# 创建一个垂直布局,并将堆栈窗口和按钮添加到其中
layout = QVBoxLayout()
layout.addWidget(self.stacked_widget)
layout.addWidget(self.remove_button)
self.setLayout(layout)
def remove_widget2(self):
# 从堆栈中删除第二个部件
self.stacked_widget.removeWidget(self.widget2)
if __name__ == '__main__':
app = QApplication([])
window = Window()
window.show()
app.exec_()
```
在上面的示例中,我们创建了一个 `QStackedWidget`,并将两个部件添加到其中。我们还创建了一个按钮,当单击该按钮时,将从堆栈中删除第二个部件。通过使用 `removeWidget` 方法,我们可以轻松地从堆栈中删除窗口或部件。
阅读全文