PyQt打开保存对话框的方法和使用详解
程序员文章站
2023-11-30 11:28:22
pyqt之打开保存对话框(qfiledialog)的方法和使用
一、控件说明
qfiledialog是用于打开和保存文件的标准对话框,继承自qdialog类。
qfi...
pyqt之打开保存对话框(qfiledialog)的方法和使用
一、控件说明
qfiledialog是用于打开和保存文件的标准对话框,继承自qdialog类。
qfiledialog在打开文件时使用了文件过滤器,用于显示指定扩展名的文件,也可以设置使用qfiledialog打开文件时的起始文件路径和指定扩展名。
二、qfiledialog类的常用方法
getopenfilename():
返回用户所选择文件的名称并打开该文件
getsavefilename():
使用用户选择的文件名并保存文件
例:qfiledialog.getopenfilename(self,‘open file',‘d:\',‘image files(*.jpg *.png)')
- 第一个参数是指定父窗口
- 第二个参数是标题
- 第三个是默认打开目录,使用.代表当前目录
- 第四个是文件扩展名过滤器表示只能显示扩展名为.jpg和.png的文件
setfilemode():
可以选择的文件类型,没举型常量:
qfiledialog.anyfile-任何文件
qfiledialog.existingfile-已存在的文件
qfiledialog.directory-文件目录
qfiledialog.existingfiles-已存在的多个文件
setfilter():
设置过滤器,只显示过滤器允许的文件类型
三、应用举例
import sys from pyqt5.qtcore import * from pyqt5.qtgui import * from pyqt5.qtwidgets import * class filedalogdemo(qwidget): def __init__(self,parent=none): super(filedalogdemo,self).__init__(parent) layout=qvboxlayout() self.btn=qpushbutton("加载图片") self.btn.clicked.connect(self.getfile) 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.text=qtextedit() layout.addwidget(self.text) self.setlayout(layout) self.setwindowtitle("file dialog例子") def getfile(self): fname,_=qfiledialog.getopenfilename(self,'打开文件',"d:\\","image files(*.jpg *.gif)") self.le.setpixmap(qpixmap(fname)) def getfiles(self): dlg=qfiledialog() dlg.setfilemode(qfiledialog.anyfile) dlg.setfilter(qdir.files) if dlg.exec_(): filenames=dlg.selectedfiles() f=open(filenames[0],'r') with f: data=f.read() self.text.settext(data) if __name__=="__main__": app=qapplication(sys.argv) win=filedalogdemo() win.show() sys.exit(app.exec_())
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Drupal7中常用的数据库操作实例
下一篇: jquery判断滚动条距离顶部的距离方法
推荐阅读