pyqt5 读取列表中的数据 并生成相对应的复选框 并在复选框右边显示对应复选框名称 并将其作为窗口展示
时间: 2024-03-03 20:47:28 浏览: 145
可以使用QListWidget来显示列表中的数据,并使用QCheckBox来生成相应的复选框,并使用QLabel来显示复选框名称。下面是一个完整的示例代码:
```python
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QListWidget, QCheckBox, QLabel, QApplication
class MyWidget(QWidget):
def __init__(self, data):
super().__init__()
# 创建一个QListWidget
list_widget = QListWidget(self)
# 循环遍历数据并添加到QListWidget中
for item in data:
# 创建一个QCheckBox
checkbox = QCheckBox()
checkbox.setText(item)
# 创建一个QLabel来显示复选框名称
label = QLabel(item)
# 创建一个水平布局
layout = QHBoxLayout()
# 将复选框和标签添加到布局中
layout.addWidget(checkbox)
layout.addWidget(label)
# 将布局添加到QListWidget中
item_widget = QWidget()
item_widget.setLayout(layout)
list_widget.addItem(item_widget)
# 创建一个垂直布局
layout = QVBoxLayout(self)
# 将QListWidget添加到布局中
layout.addWidget(list_widget)
# 设置主窗口的布局
self.setLayout(layout)
if __name__ == '__main__':
# 假设这是从列表中读取的数据
data = ["Apple", "Banana", "Orange"]
# 创建一个应用程序对象
app = QApplication([])
# 创建一个窗口对象
window = MyWidget(data)
# 显示窗口
window.show()
# 运行应用程序
app.exec_()
```
在这个示例中,我们首先创建一个QListWidget,然后循环遍历数据并为每个项目创建一个QCheckBox和一个QLabel,并将它们添加到一个水平布局中。然后,我们将水平布局添加到一个QWidget中,并将该QWidget添加到QListWidget中。最后,我们将QListWidget添加到主窗口的布局中,并显示窗口。这将在窗口中显示一个包含复选框和标签的列表。
阅读全文