Добавить скрытое значение в PyQT5 ListWidget - PullRequest
0 голосов
/ 07 апреля 2020

Я работаю со списком виджетов в PyQT5. Я хотел бы иметь скрытое значение, связанное с каждым элементом в списке, которое я могу извлечь при нажатии на текст списка.

class Gui(QtWidgets.QMainWindow, ui_tutorial.Ui_MainWindow):
    def __init__(self):        
        super(self.__class__, self).__init__()  
        self.exiting = True
        self.setupUi(self)
        self.fill_list() 
        self.listWidget_emails.itemClicked.connect(self.extract)


    def fill_list()
        w = self.listWidget
        w.clear()
        titles = [['title_1', 1], ['title_2', 2], 'title_3', 3]]
        for t in titles:
            title = t[0]
            value = t[1]
            w.addItem(title, value) #this does not work

    def extract(self, list_item):
        w = self.listWidget
        myValue = list_item.value() #This is just to describe what I want. Of course it doesn't work



def main():
    app = QtWidgets.QApplication(sys.argv)
    form = Gui()  
    form.show()  # Show the form
    app.exec_()  # start the app

if __name__ == '__main__':  
    main() 

1 Ответ

1 голос
/ 08 апреля 2020

Вы можете создать QListWidgetItem для каждого заголовка и присвоить объекту свое собственное свойство value.

def fill_list(self):
    w = self.listWidget
    w.clear()
    titles = [['title_1', 1], ['title_2', 2], ['title_3', 3]]
    for t in titles:
        item = QtWidgets.QListWidgetItem(t[0])
        item.value = t[1]
        w.addItem(item)

def extract(self, list_item):
    myValue = list_item.value

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...