我有一个QListWidget。我在itemClicked上运行此功能,并且该程序的其他部分也调用了此功能。因此,此函数具有可选参数cutrrentItemText。由于某种原因,我的代码无法正常工作。检查以下示例。
def loadSomething(self,currentItemText=None):
if not currentItemText:
item = self.listWidget.currentItem()
currentItemText = item.text()
print currentItemText
#result from above code
<PySide2.QtWidgets.QListWidgetItem object at 0x7f910b112e60>
代替项目文本,它分配项目对象。这是没有if语句的代码,它像魅力一样工作。
def loadSomething(self,currentItemText=None):
#if not currentItemText:
item = self.listWidget.currentItem()
currentItemText = item.text()
print currentItemText
#result of this give currentItems text
我想知道我在哪里犯错。谁能告诉我这段代码有什么问题吗?
注意:我正在Foundry核武器中尝试此操作。尝试自定义python面板。
更新:在我的主窗口小部件初始化中,我有这个要连接itemClicked事件
self.listWidget.itemClicked.connect( self.loadSomething )
已解决:
我刚刚意识到,itemClicked事件会在回调时发送当前的item对象。所以第一个参数应该是item,
def loadSomething(self,item,currentItemText=None)
已完成更改