не могу проверить CheckBox в QlistWidget, используя Pyqt5, система отображает ошибку в Python - PullRequest
0 голосов
/ 13 июня 2018

У меня есть код, который отображает элементы в QlistWidget, и рядом с каждым элементом существует флажок, который пользователь может установить для будущей задачи.

Проблема заключается в том, что когда пользователь проверяет CheckBoxперед этим нажмите на элемент Текст

Сбой системы и отобразите следующую ошибку:

строка 126, в FileListSelected
Item = self.listWidgetPDFlist.currentItem () .text ()

builtins.AttributeError: у объекта 'NoneType' нет атрибута 'text'

код:

 def FileListSelected(self):             # Function to select the desired file from the list in the left panel
        print(self.listWidgetPDFlist.currentItem())
        Item=self.listWidgetPDFlist.currentItem().text()     
        return Item

в чем ошибка вмоя функция?

1 Ответ

0 голосов
/ 14 июня 2018

self.listWidgetPDFlist.currentItem() возвращает None, если в данный момент ни один элемент не выбран.

Обычно он возвращает элемент виджета списка, у которого есть метод .text(). Нет, поэтому не получается.

Вы можете исправить ошибку следующим образом:

def FileListSelected(self):
    print(self.listWidgetPDFlist.currentItem())
    Item=self.listWidgetPDFlist.currentItem()
    return Item.text() if Item else None

Однако, вероятно, лучше добавить метод в QCheckBox, который возвращает его родительский QListWidgetItem

...