from PyQt5.Qt import * class Ui(QWidget): def __init__(self): super().__init__() self.setup_ui() def setup_ui(self): self.resize(600,500) self.list_widget = QListWidget(self) self.list_widget.resize(400,100) def insert(self,data_list:list): for i in data_list: box = QCheckBox(i) item=QListWidgetItem() self.list_widget.addItem(item) self.list_widget.setItemWidget(item,box) def getChoose(self)->[str]: """ 得到备选字段 :return: list[str] """ count=self.list_widget.count() #获取QListWidget的总个数 cb_list=[self.list_widget.itemWidget(self.list_widget.item(i)) for i in range(count)] '获取QlistWidget里面的所有QListWidget中的QCheckBox' choose = [] for cb in cb_list: if cb.isChecked(): choose.append(cb.text()) return choose class Window(Ui,QWidget): def __init__(self): super().__init__() self.data=['电机1','电机2','电机3','电机4','电机5','电机6'] self.add_info() self.btn=QPushButton('click',self) self.btn.move(30,400) self.btn.clicked.connect(self.fun) def add_info(self): self.insert(self.data) def fun(self): self.getChoose() if __name__=="__main__": import sys app=QApplication(sys.argv) win=Window() win.show() sys.exit(app.exec_())
QListWidget中添加控件
最新推荐文章于 2024-05-26 22:57:25 发布