python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例

Wanda ·
更新时间:2024-09-20
· 911 次阅读

PyQt5打开保存对话框QFileDialog介绍

QFIleDialog是用于打开和保存文件的标准对话框。QFileDialog类继承自QDialog类

QFileDialog在打开文件时使用可文件过滤器,用于显示指定扩展名的文件,也可以设置使用QFileDialog打开文件时的起始目录和指定扩展名的文件

QFileDialog类中的常用方法
方法 描述
getOpenFileName() 返回用户所选择文件的名称,并打开该文件
getSaveFileName() 使用用户选择的文件名保存文件
setFileMode() 可以选择的文件类型,枚举常量是:
QFileDialog.AnyFile:任何文件
QFileDialog.ExistingFile:已存在的文件
QFileDialog.Directory:文件目录
QFileDialog.ExistingFiles:已经存在的多个文件
setFilter() 设置过滤器,只显示过滤器允许的文件类型
QFileDialog使用实例 import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * class fileDialogdemo(QWidget): def __init__(self,parent=None): super(fileDialogdemo, self).__init__(parent) #垂直布局 layout=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(layout) self.setWindowTitle('File Dialog 例子') def getimage(self): #从C盘打开文件格式(*.jpg *.gif *.png *.jpeg)文件,返回路径 image_file,_=QFileDialog.getOpenFileName(self,'Open file','C:\\','Image files (*.jpg *.gif *.png *.jpeg)') #设置标签的图片 self.le.setPixmap(QPixmap(image_file)) def getFiles(self): #实例化QFileDialog dig=QFileDialog() #设置可以打开任何文件 dig.setFileMode(QFileDialog.AnyFile) #文件过滤 dig.setFilter(QDir.Files) if dig.exec_(): #接受选中文件的路径,默认为列表 filenames=dig.selectedFiles() #列表中的第一个元素即是文件路径,以只读的方式打开文件 f=open(filenames[0],'r') with f: #接受读取的内容,并显示到多行文本框中 data=f.read() self.contents.setText(data) if __name__ == '__main__': app=QApplication(sys.argv) ex=fileDialogdemo() ex.show() sys.exit(app.exec_())

效果如下

代码分析

在这个例子里,通过文件对话框来选择文件,其中第一个文件对话框只允许打开图片文件,并把加载的图片显示在标签上,第二个文件对话框只允许打开文本文件,并把打开的文本内容显示在文本框内

第一个按钮使用QFileDialog.getOpenFilename(),调用文件对话框来显示图片,并显示在一个标签控件中,它负责打开c盘目录下的为文件,核心代码如下

#从C盘打开文件格式(*.jpg *.gif *.png *.jpeg)文件,返回路径 image_file,_=QFileDialog.getOpenFileName(self,'Open file','C:\\','Image files (*.jpg *.gif *.png *.jpeg)') #设置标签的图片 self.le.setPixmap(QPixmap(image_file))

在QFIleDialog.getOpenFileName()函数中

第一个参数self:用于指定父组件

第二个参数‘open file':是QFileDialog对话框的标题

第三个参数‘C:\'默认打开的目录,‘.'代表程序运行的目录,‘/'代表当前盘下的根目录(window.linux系统),需要注意的是不同路径的显示方式,比如window平台下的C盘“C:\”等

第四个参数是对话框中文件扩展名过滤器(fliter),比如使用'Image files (.jpg .gif .png .jpeg)'表示只能显示扩展名为.jpg,.gif等文件

第二个安妞使用文件对话框(QFileDialog)对象的exec_()方法来选择文件,并把所选的文件的内容显示在文本编译控件中,核心代码

def getFiles(self): #实例化QFileDialog dig=QFileDialog() #设置可以打开任何文件 dig.setFileMode(QFileDialog.AnyFile) #文件过滤 dig.setFilter(QDir.Files) if dig.exec_(): #接受选中文件的路径,默认为列表 filenames=dig.selectedFiles() #列表中的第一个元素即是文件路径,以只读的方式打开文件 f=open(filenames[0],'r') with f: #接受读取的内容,并显示到多行文本框中 data=f.read() self.contents.setText(data)

本文详细讲解了PyQt5打开保存对话框QFileDialog详细使用方法与实例,大家可以参考一下,更多关于这方面的知识请查看下面的相关链接

您可能感兴趣的文章:python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例



python gui 界面 方法 gui pyqt5 pyqt 图形界面 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章