pythonpyqtpyqt5qlistwidgetqlistwidgetitem

how do i get text from QListWidgetItem


so basically i just started to learn PyQt and I want to get element's text in listWidget, but everytime i try self.listWidget.currentItem().text() it throws an error. Why?

import sys
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QDialog, QApplication, QListWidget
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import *

class MainPage(QDialog):
    def __init__(self):
        super(MainPage,self).__init__()
        loadUi("HomePage.ui",self)
        self.pushButton.clicked.connect(self.addToList)
        self.selectButton.clicked.connect(self.getText)



    def addToList(self):
        customername = self.plainTextEdit_16.toPlainText()
        self.listWidget.addItem(customername)



    def getText(self):
        item = self.listWidget.currentItem().text() ##error is here

        print(item)


app = QApplication(sys.argv)

widget = MainPage()
widget.show()

sys.exit(app.exec_())

Solution

  • Assuming that "addToList" runs correctly then the only error is that there is no item selected so the currentItem will return None. The solution is to verify that it is None:

    def getText(self):
        item = self.listWidget.currentItem()
        if item is not None:
            print(item.text())