2017-06-17 77 views
1

更新自定義列表控件項目我可以用下面的代碼添加自定義QListWidgetItem在QListWidget -PyQt的:在QListWidget

for item in dl_list:    
     widget = QtWidgets.QWidget() 
     card = Ui_DownloadCard() 
     card.setupUi(widget) 
     card.set_filename(item["title"]) 
     card.set_progress_bar(item["progress"]) 
     card.set_progress_text(item["progress"]/item["size"]) 
     card.set_speed(item["speed"]) 

     listItem = QtWidgets.QListWidgetItem(self.download_list) 
     listItem.setSizeHint(widget.sizeHint()) 

     self.myListWidget.addItem(listItem) 
     self.myListWidget.setItemWidget(listItem, widget) 

現在,我希望與新的速度&進度更新每個項目。我嘗試下面的代碼 -

self.myListWidget.item(0).set_speed("300 KB/s")

但它給錯誤說

AttributeError: 'QListWidgetItem' object has no attribute 'set_speed'

那麼,什麼是更新項目的正確方法是什麼?

+0

我們怎麼知道,當你不告訴我們是什麼'download_list'是什麼?考慮[如何創建最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve)。 – Matho

+0

爲什麼你說你正在使用'自定義QListWidgetItem',如果你使用的項目是默認來的,即QListWidgetItem? – eyllanesc

回答

0
listItem = QtWidgets.QListWidgetItem(self.download_list) 

您需要使用您的自定義項目,而不是:

listItem = YourCustomListWidgetItem(self.download_list) 
相關問題