PyQt打开保存对话框的方法和使用详解


Posted in Python onFebruary 27, 2019

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_())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python海龟绘图实例教程
Jul 24 Python
pymssql数据库操作MSSQL2005实例分析
May 25 Python
Python字符串拼接六种方法介绍
Dec 18 Python
Python3.7实现中控考勤机自动连接
Aug 28 Python
python绘制中国大陆人口热力图
Nov 07 Python
pygame实现雷电游戏雏形开发
Nov 20 Python
Python绘制并保存指定大小图像的方法
Jan 10 Python
Python如何使用字符打印照片
Jan 03 Python
Python requests模块cookie实例解析
Apr 14 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
Apr 14 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
python中嵌套函数的实操步骤
Feb 27 #Python
python把1变成01的步骤总结
Feb 27 #Python
PyQt弹出式对话框的常用方法及标准按钮类型
Feb 27 #Python
学习python的前途 python挣钱
Feb 27 #Python
scrapy-redis的安装部署步骤讲解
Feb 27 #Python
python三引号输出方法
Feb 27 #Python
浅析python的Lambda表达式
Feb 27 #Python
You might like
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
2009/02/17 Javascript
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
JS实现self的resend
2010/07/22 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
JS表的模拟方法
2015/02/05 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
Django组件content-type使用方法详解
2019/07/19 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
python如何编写win程序
2020/06/08 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
建筑专业自我鉴定
2013/10/22 职场文书
高中生期末评语大全
2014/01/28 职场文书
个人工作表现评价材料
2014/09/21 职场文书
大学生团员个人总结
2015/02/14 职场文书
领导干部学习心得体会
2016/01/23 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers