PyQt5打开保存对话框QFileDialog介绍
QFIleDialog是用于打开和保存文件的标准对话框.QFileDialog类继承自QDialog类
QFileDialog在打开文件时使用可文件过滤器,用于显示指定扩展名的文件,也可以设置使用QFileDialog打开文件时的起始目录和指定扩展名的文件
QFileDialog类中的常用方法
方法 描述 getOpenFileName () 返回用户所选择文件的名称,并打开该文件 getSaveFileName () 使用用户选择的文件名保存文件 setFileMode () 可以选择的文件类型,枚举常量是: QFileDialog.AnyFile:任何文件 QFileDialog.ExistingFile:已存在的文件 QFileDialog.Directory:文件目录 QFileDialog.ExistingFiles:已经存在的多个文件 setFilter () 设置过滤器,只显示过滤器允许的文件类型QFileDialog使用实例
导入系统 从PyQt5。QtCore进口* 从PyQt5。QtWidgets进口* 从PyQt5。QtGui进口* 类fileDialogdemo (QWidget): def __init__(自我,父=None): 超级(fileDialogdemo,自我). __init__(父) #垂直布的局 布局=QVBoxLayout () #创建按钮,绑定自定义的槽函数,添加到布局中 self.btn=QPushButton(“加载图片”) self.btn.clicked.connect (self.getimage) layout.addWidget (self.btn) #创建标签,添加到布局中 self.le=QLabel (”) layout.addWidget (self.le) #创建按钮,绑定自定义的槽函数,添加到布的局 self.btn1=QPushButton('加载文本文件的) self.btn1.clicked.connect (self.getFiles) layout.addWidget (self.btn1) #实例化多行文本框,添加到布的局 self。contents=QTextEdit () layout.addWidget (self。contents) #设置主窗口的布局及标题 self.setLayout(布局) 自我。setWindowTitle(“文件对话框例子”) def getimage(自我): #从C盘打开文件格式(* . jpg *。gif *。png * jpeg)文件,返回路径 image_file _=QFileDialog。getOpenFileName(自我,“打开文件”,“C: \ \ ', ' * . jpg图像文件(*。gif *。png * jpeg)”) #设置标签的图片 self.le.setPixmap (QPixmap (image_file)) def getfile(自我): #实例化QFileDialog 挖=QFileDialog () #设置可以打开任何文件 dig.setFileMode (QFileDialog.AnyFile) #文件过滤 dig.setFilter (QDir.Files) 如果dig.exec_ (): #接受选中文件的路径,默认为列的表 文件名=dig.selectedFiles () #列表中的第一个元素即是文件路径,以只读的方式打开文件 f=开放(文件名[0],“r”) f: #接受读取的内容,并显示到多行文本框中 data=https://www.yisu.com/zixun/f.read () self.contents.setText(数据) if __name__==癬_main__”: 应用=QApplication (sys.argv) 前女友=fileDialogdemo () ex.show () sys.exit (app.exec_ ())
效果如下
代码分析
在这个例子里,通过文件对话框来选择文件,其中第一个文件对话框只允许打开图片文件,并把加载的图片显示在标签上,第二个文件对话框只允许打开文本文件,并把打开的文本内容显示在文本框内
第一个按钮使用QFileDialog.getOpenFilename(),调用文件对话框来显示图片,并显示在一个标签控件中,它负责打开c盘目录下的为文件,核心代码如下
#从C盘打开文件格式(* . jpg *。gif *。png * jpeg)文件,返回路径 image_file _=QFileDialog。getOpenFileName(自我,“打开文件”,“C: \ \ ', ' * . jpg图像文件(*。gif *。png * jpeg)”) #设置标签的图片 self.le.setPixmap (QPixmap (image_file)python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例