QT,令我痛苦一个下午的问题...(想有人帮帮忙^_^)

我想做一个文件浏览器,现在文件浏览功能已经做好了,想做一个, 当我点某一个文件,就把这个文件的完整路径显示出来,我代码这样写的
代码:
   
    qDialog = QtGui.QDialog()
    #Create Layout
    qVBoxLayout = QtGui.QVBoxLayout()
    #Create file browser
    qFileSystemModel = QtGui.QFileSystemModel()
    qFileSystemModel.setFilter(QtCore.QDir.AllEntries | QtCore.QDir.NoDotAndDotDot)
    qFileSystemModel.setRootPath("/")

    qTreeView = QtGui.QTreeView()
    qTreeView.setModel(qFileSystemModel)

    #Create a line edit to show the path
    qLineEdit = QtGui.QLineEdit()
    qLineEdit.setText(qFileSystemModel.filePath(qTreeView.currentIndex))
    qLineEdit.setGeometry(QtCore.QRect(40, 100, 98, 107))


    #Create another layout
    qHBoxLayout = QtGui.QHBoxLayout()


    #Create cancel and confirm buttons
    qCancelBtn = QtGui.QPushButton()
    qCancelBtn.setGeometry(QtCore.QRect(40, 100, 98, 107))
    qCancelBtn.setObjectName("Cancel")
    qCancelBtn.setText("Cancel")
    qConfirmBtn = QtGui.QPushButton()
    qConfirmBtn.setGeometry(QtCore.QRect(40, 180, 98, 27))
    qConfirmBtn.setObjectName("Confirm")
    qConfirmBtn.setText("Confirm")

    qHBoxLayout.addWidget(qCancelBtn)
    qHBoxLayout.addWidget(qConfirmBtn)
    qVBoxLayout.addWidget(qTreeView)
    qVBoxLayout.addWidget(qLineEdit)
    qVBoxLayout.addLayout(qHBoxLayout)
    qVBoxLayout.addWidget(qMessageBox)
    qDialog.setLayout(qVBoxLayout)
    qDialog.show()
    qDialog.exec_()


但是总是报错说QFileSystemModel.fileName(QModelIndex): argument 1 has unexpected type 'builtin_function_or_method'‘

我看了qTreeView.currentIndex这个会返回一个 QModelIndex,然后qFileSystemModel.filePath会返回一个QString,满足类型要求呀,为什么还会报错呢,怎么解决呢,谢谢大家

作者: nbdxkfq   发布时间: 2010-10-24