pyqt5中可以收起和展开的控件
时间: 2024-04-15 08:27:51 浏览: 328
在 PyQt5 中,你可以使用 QGroupBox 和 QCollapsibleWidget 来创建可收起和展开的控件。
1. 使用 QGroupBox:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QGroupBox, QVBoxLayout, QPushButton, QLabel
app = QApplication([])
window = QMainWindow()
window.setWindowTitle("Collapsible Widget")
group_box = QGroupBox("Collapsible Group")
group_box.setCheckable(True)
group_box.setChecked(True)
layout = QVBoxLayout()
layout.addWidget(QPushButton("Button 1"))
layout.addWidget(QLabel("Label 1"))
group_box.setLayout(layout)
main_layout = QVBoxLayout()
main_layout.addWidget(group_box)
window.setLayout(main_layout)
window.show()
app.exec_()
```
上面的代码创建了一个 QGroupBox,设置了它可以被选中,并且默认是选中状态。当用户点击标题时,可以展开或收起控件内的内容。
2. 使用 QCollapsibleWidget:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QCollapsibleWidget, QPushButton, QLabel
app = QApplication([])
window = QMainWindow()
window.setWindowTitle("Collapsible Widget")
collapsible_widget = QCollapsibleWidget(window)
collapsible_widget.setCollapsed(True)
button_widget = QPushButton("Button 1")
label_widget = QLabel("Label 1")
collapsible_widget.addWidget(button_widget)
collapsible_widget.addWidget(label_widget)
window.setCentralWidget(collapsible_widget)
window.show()
app.exec_()
```
上面的代码使用了 QCollapsibleWidget,它是一个自定义的可折叠小部件。可以通过设置 setCollapsed() 方法来控制小部件的展开和收起状态。
这两种方法都可以实现收起和展开的控件效果,你可以根据自己的需求选择适合的方法。
阅读全文