Python 2.7 如何使用双击事件获取pyqt qtreeview项子项?

Python 2.7 如何使用双击事件获取pyqt qtreeview项子项?,python-2.7,pyqt4,qtreeview,qstandarditemmodel,qstandarditem,Python 2.7,Pyqt4,Qtreeview,Qstandarditemmodel,Qstandarditem,我正在使用PyQt4和Python2.7.9。我有一个包含Oracle数据库数据的QTreeView。代码如下: model = QStandardItemModel(0,1) self.treeMedia.setModel(model) for rowalb in self.SELECT_TREE_ALBUM(codus): nodeItem = QStandardItem(str(rowalb[1]).decode('utf-8')) for rowph in self.SE

我正在使用PyQt4和Python2.7.9。我有一个包含Oracle数据库数据的QTreeView。代码如下:

model = QStandardItemModel(0,1)
self.treeMedia.setModel(model)
for rowalb in self.SELECT_TREE_ALBUM(codus):
    nodeItem = QStandardItem(str(rowalb[1]).decode('utf-8'))
    for rowph in self.SELECT_TREE_PHOTO(int(rowalb[0])):
        childItem = QStandardItem(str(rowph[0]))
        childItem.setEditable(False)
        nodeItem.insertRows(0, [childItem])
    nodeItem.setEditable(False)
    model.appendRow(nodeItem)
model.setHorizontalHeaderLabels(['Data'])
SELECT_TREE_相册(codus是相册所有者的id)和SELECT_TREE_PHOTO是从数据库返回数据的函数。rowalb是相册的名称,rowalb[0]是id,rowalb[0]用于获取此相册的照片。图片显示此视图:

我想使用双击事件获取子项数据(例如1491475964461012、1491475821127693、1491475631127712、1491475141127761或148040755234520)。我尝试将这些代码放入构造函数中:

self.treeMedia.doubleClicked.connect(self.treeMedia_doubleClicked)
然后我添加了函数:

def treeMedia_doubleClicked(self,index):
    item = self.treeMedia.model().item(index.row(),index.column())
    strData = item.data(0).toPyObject()
    #self.treeMedia.currentIndex()
    print('' + str(strData))

但有时我会看到nodeItem信息(例如“恐怖”或“fotos de perfil”),而其他信息则会出现以下错误:“AttributeError:‘NoneType’对象没有属性‘data’”。这可能是什么问题?填充qtreeview时是否存在问题?或者是在使用索引时双击事件函数的问题?请帮帮我。提前感谢。

如果有人在寻找答案

def treeMedia_doubleClicked(self,index):
    item = self.treeView.selectedIndexes()[0]
    print item.model().itemFromIndex(index).text()

非常感谢,没关系。我一直在寻找解决方案很多时间,这可能不是正确的解决方案,例如,考虑多个选择的情况下,必须有一种使用索引的方法。