获取当前选中的 QTreeView 项的文本和索引
Get the text and index of the current selected QTreeView item
我想知道如何 return QTreeView 中所选项目的文本值和索引。我尝试使用:
self.TreeView.selectedIndexes()
但是 return 是一个 QModelIndex。我不确定如何将其转换为整数值。谷歌搜索,我也没有真正找到任何关于获取文本值的信息。有什么想法吗?
抱歉,如果这是一个基础知识问题。我是 python 的新手,并且是自学的。在 java 中,大多数对象都可以进行转换,但我不太确定在 Python 中如何使用 QObjects。
我目前正在使用 Python 3.6 和 PyQt5
答案取决于模型,但我认为您使用的是标准 Qt 模型,所以解决方案是使用 Qt::DisplayRole
角色:
for ix in self.TreeView.selectedIndexes():
text = ix.data(Qt.DisplayRole) # or ix.data()
print(text)
对于QModelIndex,可以使用方法row()和column()来获取行索引和列索引。也许这就是您所指的整数 'index'。
for ix in self.TreeView.selectedIndexes():
text = ix.data(Qt.DisplayRole) # or ix.data()
print(text)
row_index = ix.row()
print(column_index)
column_index = ix.row()
print(column_index)
我想知道如何 return QTreeView 中所选项目的文本值和索引。我尝试使用:
self.TreeView.selectedIndexes()
但是 return 是一个 QModelIndex。我不确定如何将其转换为整数值。谷歌搜索,我也没有真正找到任何关于获取文本值的信息。有什么想法吗?
抱歉,如果这是一个基础知识问题。我是 python 的新手,并且是自学的。在 java 中,大多数对象都可以进行转换,但我不太确定在 Python 中如何使用 QObjects。
我目前正在使用 Python 3.6 和 PyQt5
答案取决于模型,但我认为您使用的是标准 Qt 模型,所以解决方案是使用 Qt::DisplayRole
角色:
for ix in self.TreeView.selectedIndexes():
text = ix.data(Qt.DisplayRole) # or ix.data()
print(text)
对于QModelIndex,可以使用方法row()和column()来获取行索引和列索引。也许这就是您所指的整数 'index'。
for ix in self.TreeView.selectedIndexes():
text = ix.data(Qt.DisplayRole) # or ix.data()
print(text)
row_index = ix.row()
print(column_index)
column_index = ix.row()
print(column_index)