itemclicked 中的错误是什么?
what is the error in the itemclicked?
我有一个 python,其中包含一个列表,用于处理所选文件夹中现有 PDF 文件的路径。
我想要的是让系统在用户单击项目时在控制台打印所选项目。
因此它必须连接到 itemclick 事件。
我将不胜感激。
系统显示异常:
发生此错误 'NoneType' 对象没有属性 'text'
这就是我试图做到的:
self.listWidgetPDFlist.itemClicked.....如何继续?
创建一个空列表
fileList=[]
遍历所选文件夹并将匹配项添加到 widgetList
for root,dirs,files in os.walk(directory):
for filename in files:
if filename.endswith('.pdf'):
t=os.path.join(directory,filename)
print(t)
#fileList.extend(t)
fileList.append(t)
# add the list into the listWidgetPDFlist
self.listWidgetPDFlist.addItems(fileList)
选择一个项目后,让系统在控制台中打印当前项目
self.listWidgetPDFlist.itemClicked(print(self.listWidgetPDFlist.currentItem().text()))
问题出在上面的代码行
点击的项目是一个信号,必须连接到功能。
self.listWidgetPDFlist.itemClicked.connect(lambda: print(self.listWidgetPDFlist.currentItem().text()))
上面的行使用 lambda 语句在一行代码中打印所选项目。这将适用于非常简单的事情,就像您在这里尝试做的那样,但您也可以将其连接到一个方法来做更多事情。
self.listWidgetPDFlist.itemClicked.connect(self.print_item)
def print_item(self):
print(self.listWidgetPDFlist.currentItem().text())
# handle other items here
连接到方法时,必须在将方法名称连接到信号时将括号从方法名称中去掉。
我有一个 python,其中包含一个列表,用于处理所选文件夹中现有 PDF 文件的路径。
我想要的是让系统在用户单击项目时在控制台打印所选项目。
因此它必须连接到 itemclick 事件。
我将不胜感激。
系统显示异常:
发生此错误 'NoneType' 对象没有属性 'text'
这就是我试图做到的: self.listWidgetPDFlist.itemClicked.....如何继续?
创建一个空列表
fileList=[]
遍历所选文件夹并将匹配项添加到 widgetList
for root,dirs,files in os.walk(directory):
for filename in files:
if filename.endswith('.pdf'):
t=os.path.join(directory,filename)
print(t)
#fileList.extend(t)
fileList.append(t)
# add the list into the listWidgetPDFlist
self.listWidgetPDFlist.addItems(fileList)
选择一个项目后,让系统在控制台中打印当前项目
self.listWidgetPDFlist.itemClicked(print(self.listWidgetPDFlist.currentItem().text()))
问题出在上面的代码行
点击的项目是一个信号,必须连接到功能。
self.listWidgetPDFlist.itemClicked.connect(lambda: print(self.listWidgetPDFlist.currentItem().text()))
上面的行使用 lambda 语句在一行代码中打印所选项目。这将适用于非常简单的事情,就像您在这里尝试做的那样,但您也可以将其连接到一个方法来做更多事情。
self.listWidgetPDFlist.itemClicked.connect(self.print_item)
def print_item(self):
print(self.listWidgetPDFlist.currentItem().text())
# handle other items here
连接到方法时,必须在将方法名称连接到信号时将括号从方法名称中去掉。