在PyQt5中形成的图形化界面点击全选按键,对所有复选框实现全选,点击全不选按键对所有复选框实现全不选功能,用python实现
时间: 2024-05-15 10:18:24 浏览: 167
Pyqt5 QTableWidget/QTableView 行表头添加复选框全选功能
5星 · 资源好评率100%
可以使用以下代码实现您所说的功能:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox, QHBoxLayout, QPushButton
class CheckBoxGroup(QWidget):
def __init__(self):
super().__init__()
self.checkboxes = []
# 创建多个复选框
for i in range(5):
checkbox = QCheckBox(f"Checkbox {i}")
self.checkboxes.append(checkbox)
# 创建“全选”和“全不选”按钮
select_all_btn = QPushButton("全选")
select_all_btn.clicked.connect(self.select_all_checkboxes)
deselect_all_btn = QPushButton("全不选")
deselect_all_btn.clicked.connect(self.deselect_all_checkboxes)
# 将复选框和按钮添加到水平布局中
layout = QHBoxLayout()
layout.addWidget(select_all_btn)
layout.addWidget(deselect_all_btn)
for checkbox in self.checkboxes:
layout.addWidget(checkbox)
self.setLayout(layout)
def select_all_checkboxes(self):
for checkbox in self.checkboxes:
checkbox.setChecked(True)
def deselect_all_checkboxes(self):
for checkbox in self.checkboxes:
checkbox.setChecked(False)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = CheckBoxGroup()
window.show()
sys.exit(app.exec_())
```
这个程序创建了一个 `CheckBoxGroup` 类,其中包含多个复选框,以及“全选”和“全不选”按钮。单击“全选”按钮将选中所有复选框,单击“全不选”按钮将使所有复选框取消选中。
通过运行这个程序,您将看到一个图形用户界面,其中包含多个复选框和两个按钮。单击“全选”按钮,所有复选框都将被选中;单击“全不选”按钮,所有复选框都将被取消选中。
阅读全文