PyQt5打开文件目录(QTreeView)并在QT界面输出文件目录并双击文件返回文件目录名

打开整个文件目录

直接打开电脑的各个文件目录。显示出c盘,d盘等。。如下图所示。

PyQt5打开文件目录(QTreeView)并在QT界面输出文件目录并双击文件返回文件目录名_第1张图片

代码如下:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

if __name__=='__main__':
	app = QApplication(sys.argv)
	#window系统提供的模式
	model = QDirModel()
	#创建一个QTreeView()控件
	tree = QTreeView()
     #为控件添加模式。
	tree.setModel(model)
	tree.setWindowTitle("QTreeView例子")
	tree.resize(640,480)
	tree.show()
	sys.exit(app.exec_())

直接打开目标文件夹

直接打开你要打开的目标文件夹,我打开的是  ’D://教育数据包’  这个文件夹。如下图所示:

PyQt5打开文件目录(QTreeView)并在QT界面输出文件目录并双击文件返回文件目录名_第2张图片

代码如下:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *



class TreeViewDemo(QTreeView):
    def __init__(self, parent=None):
        super(TreeViewDemo, self).__init__(parent)
    
        #window系统提供的模式
        path = 'D://教育数据包'
        self.model = QFileSystemModel()
        self.model.setRootPath(path)
        
        #为控件添加模式。
        self.setModel(self.model)
        self.setRootIndex(self.model.index(path)) #只显示设置的那个文件路径。
        self.doubleClicked.connect(self.file_name) #双击文件打开
        self.setWindowTitle("QTreeView例子")
        self.resize(640,480)
    
    def file_name(self,Qmodelidx):
        print(self.model.filePath(Qmodelidx))  #输出文件的地址。
        print(self.model.fileName(Qmodelidx))  #输出文件名
    

if __name__=='__main__':
    app = QApplication(sys.argv)
    tree = TreeViewDemo()
    tree.show()
    sys.exit(app.exec_())
            

双击文件后显示文件目录。

你可能感兴趣的:(pyqt5)