第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從我的自定義 QListWidgetItem 獲取 QtWidgets

從我的自定義 QListWidgetItem 獲取 QtWidgets

白衣非少年 2021-06-24 18:02:06
我有一個自定義小部件 (ProjectWidget),它代表我的業(yè)務(wù)的不同項目,它們顯示在 QListWidget 中。我想使用復(fù)選框選擇某些項目對它們進行分析。當我單擊“分析項目”按鈕時,它會調(diào)用analyze() 函數(shù),該函數(shù)遍歷QListWidget 的QListWidgetitems。我不知道如何訪問組成我的自定義小部件的小部件。在我的示例中,我需要檢查復(fù)選框是否確實被選中,如果是,則從組成我的自定義小部件的其他小部件中獲取標簽文本。這是程序的樣子:相關(guān)代碼:#Custom Widgetclass ProjectWidget(QWidget):    def __init__(self, parent=None):        super(ProjectWidget, self).__init__(parent)        self.ui = Ui_Form()        self.ui.setupUi(self)    def addDetails(self, project):        self.ui.projectNumber.setText(project.projectNumber)        self.ui.projectDescription.setText(project.description)        self.ui.closingDate.setText(project.closingDate)class AppWindow(QMainWindow):    def __init__(self):        super().__init__()        self.ui = Ui_MainWindow()        self.ui.setupUi(self)        self.show()    def loadProjects(self):        self.ui.listWidget.clear()        print("loading projects")        projects = WCA.getCurrentProjects(session)        #Add custom widget to listwidget        for x in range(len(projects)):             #I create an Item*            Item = QListWidgetItem(self.ui.listWidget)            #I create a custom widget*            Item_Widget = ProjectWidget()            Item_Widget.addDetails(projects[x])            #I set the Size from the Item to the same of the widget*            Item.setSizeHint(Item_Widget.size())            self.ui.listWidget.addItem(Item)            self.ui.listWidget.setItemWidget(Item, Item_Widget)        print(str(len(projects)) + " Projects loaded.")    def analyze(self):        print("Analyze projects")        #Check if more than one project is selected        for i in range(self.ui.listWidget.count()):            item = self.ui.listWidget.item(i)            #Check if the custom widget's checkbox is checked            print(item)
查看完整描述

1 回答

?
POPMUISE

TA貢獻1765條經(jīng)驗 獲得超5個贊

您必須itemWidget()通過傳遞來使用該方法QListWidgetItem來獲取小部件:


def analyze(self):

    print("Analyze projects")

    #Check if more than one project is selected

    for i in range(self.ui.listWidget.count()):

        item = self.ui.listWidget.item(i)

        widget = self.ui.listWidget.itemWidget(item)

        if widget is not None:

            if widget.ui.name_of_checkbox.isChecked():

                print(widget)


查看完整回答
反對 回復(fù) 2021-06-29
  • 1 回答
  • 0 關(guān)注
  • 695 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號