PyQt中,树形结构QtreeView中,单击节点获取其绝对路径

刚刚接触pyqt这块,现在想做个界面,左半部分是tree(整个根目录的索引),右半部分我是想我在tree中点一下那个文件,右半部分就可以显示文件内容,那么这样的话我肯定要获取这个文件的绝对路径。

搞了很久,终于把单击事件函数搞定了,现在单击一下treeview中的某个文件节点,会触发这个函数,但是不知道如何获取这个文件的绝对路径,网上貌似这块资料很少,现在只知道要用model里面的某个方法还是什么?跪求大神指导

阅读 9k
1 个回答

最近也在使用pyqt,233~
不知道你的文件是指什么,但是如果你的文件和你的py文件在同一目录下,那这个就很好办了。

下面代码只是个大概

  • 首先你先获取你所点击的节点的文件名

fileName = self.currentRow().text()    
# 不知道tree是不是这样,反正QListWidget获取当前节点就是currentRow()
  • 获取绝对路径,然后和文件名拼接就得到了文件的绝对路径

import os
# 获取当前文件的绝对路径,也就是你的py文件的当前绝对路径
abDir = os.path.abspath(os.path.join(os.path.dirname(__file__))).replace('\\','/')
fileDir = abDir + fileName

如果能解决问题,麻烦采纳~~~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题