如题:1、我用treeview使用QFileSystemModel()获取系统文件列表
2、定义右键事件
3、打开后缀为mdb的文件,将其内容显示在Listview中
在运行过程中发现,右键一次,在listview打印出的名字是一个;右键两次,listview打印出两个。如图:
以下是相关代码,请大神指正:
def actionHandler1(self):
'''右键事件'''
index = self.Attribute.treeView.currentIndex()
filePath = unicode(self.Attribute.treeView.model().filePath(index))
print index
'''后缀为mdb,在listview显示所有tablename列表'''
houzui = filePath.split('.')[-1]
if houzui == 'mdb':
connaccess = TAccess()
tables = connaccess.selecttablename(filePath)
if tables:
lm = MyListModel(tables,self)
self.Attribute.listView.setModel(lm)
self.Attribute.listView.clicked.connect(self.insignal)
else:
root = self.model.setRootPath('')
self.Attribute.listView.setRootIndex(root)
@QtCore.pyqtSlot(QtCore.QModelIndex)
def insignal(self):
print '123'
itms = self.Attribute.listView.selectedIndexes()
for it in itms:
print it.data().toString()
print it.row()