python - QListWidget 项目文本未使用 If 语句返回
问题描述
我有一个 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 nuke 中尝试这个。尝试自定义 python 面板。
更新: 在我的主小部件初始化中,我有这个来连接 itemClicked 事件
self.listWidget.itemClicked.connect( self.loadSomething )
解决:
我刚刚意识到,itemClicked 事件在回调时发送当前项目对象。所以第一个参数应该是项目,
def loadSomething(self,item,currentItemText=None)
上述改变奏效
解决方案
推荐阅读
- javascript - 在 JavaScript 中拆分字符串后,输出在每个单词后显示逗号
- node.js - 是否有 API 可以检索用户的所有别名电子邮件?
- elasticsearch - 为什么我得到无法识别的参数:[查询]
- r - 您可以在命令行中更改 R 脚本前端版本吗?
- javascript - 我如何在 k6 负载测试框架中使用绝对路径
- python-3.x - datetime.strptime python的问题
- c# - C# Git 项目缺少 Nuget 包
- android - 从 android 读取和写入文本到 NFC 卡
- document - 如何制作像 Github Graphql DOC 这样的文档?
- twitter-bootstrap - Flask_Bootstrap4 wtf 快速表单不显示错误