【问题标题】:how do i get text from QListWidgetItem我如何从 QListWidgetItem 获取文本
【发布时间】:2020-05-31 11:27:14
【问题描述】:

所以基本上我刚开始学习 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_())

【问题讨论】:

  • 错误信息是什么?
  • 您应该在提问时显示您遇到的错误。另外,不要将所有文本都设为粗体
  • 什么是HomePage.ui

标签: python pyqt pyqt5 qlistwidget qlistwidgetitem


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多