创建了一个QtGui.QListWidget列表窗口小部件:
myListWidget = QtGui.QListWidget()
通过QListWidgetItem列表项填充此ListWidget:
for word in ['cat', 'dog', 'bird']:
list_item = QtGui.QListWidgetItem(word, myListWidget)
现在在list_item的左击事件上连接一个函数:
def print_info():
print myListWidget.currentItem().text()
myListWidget.currentItemChanged.connect(print_info)
从我的代码中可以看出,当我左击一个列表项时,我只能得到该列表项的标签名称。但除了标签名称之外,我还想得到列表项的索引号(在ListWidget中显示的顺序号)。我希望能够尽可能多地获取关于已左击列表项的信息。我查看了dir(my_list_item)。但是除了已经使用的my_list_item.text()方法返回列表项的标签名称之外,我找不到任何有用的东西。提前致谢!
selectedItems()
方法返回一个项目列表,而不是文本。只能有一个当前项目,因此currentRows()
没有意义。要从项目获取QModelIndex
,请使用QListWidget.indexFromItem。 - ekhumoro