我如何从 QListWidgetItem 获取文本

问题描述 投票:0回答:1

所以基本上我刚刚开始学习 PyQt,我想在 listWidget 中获取元素的文本,但每次我尝试 self.listWidget.currentItem().text() 时都会抛出错误。为什么?

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_())
python pyqt pyqt5 qlistwidget qlistwidgetitem
1个回答
5
投票

假设“addToList”运行正确,那么唯一的错误是没有选择任何项目,因此 currentItem 将返回 None。解决方案是验证它是否为 None:

def getText(self):
    item = self.listWidget.currentItem()
    if item is not None:
        print(item.text())
© www.soinside.com 2019 - 2024. All rights reserved.