获取当前选中的 QTreeView 项的文本和索引

art*_*son 2 python pyqt qtreeview python-3.x pyqt5

我想知道如何在 QTreeView 中返回文本值和所选项目的索引。我尝试使用:

self.TreeView.selectedIndexes()
Run Code Online (Sandbox Code Playgroud)

但这会返回一个 QModelIndex。我不确定如何将其转换为整数值。谷歌搜索,我也没有真正找到任何关于获取文本值的信息。有任何想法吗?

对不起,如果这是一个基本知识问题。我是 python 新手,自学。在 Java 中,大多数对象都可以被强制转换,但我不确定在 Python 中 QObjects 是如何工作的。

我目前正在使用 Python 3.6 和 PyQt5

eyl*_*esc 6

答案取决于模型,但我认为您使用的是标准Qt模型,因此解决方案是使用Qt::DisplayRole角色:

for ix in self.TreeView.selectedIndexes():
    text = ix.data(Qt.DisplayRole) # or ix.data()
    print(text)
Run Code Online (Sandbox Code Playgroud)