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

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

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

(0)

相关推荐

  • Python PyQt5标准对话框用法示例

    本文实例讲述了Python PyQt5标准对话框用法.分享给大家供大家参考,具体如下: 很全的Qt的标准对话框,包含QInputDialog.QColorDialog.QFontDialog.QMessageBox.QOpenFileDialog... 全部是由官网的C++版本,转换成PyQt5版本. 有些细节忽略了,因为实在不知怎么转换过来.捣鼓了一晚上,总算完成了,好累啊,不过很开心! 效果图: 完整代码: # -*- coding: utf-8 -*- from PyQt5.QtGui i

  • PyQt5打开文件对话框QFileDialog实例代码

    本文研究的主要是PyQt5打开文件对话框QFileDialog的代码示例,具体如下. 单个文件打开 QFileDialog.getOpenFileName() 多个文件打开 QFileDialog.getOpenFileNames() 文件夹选取 QFileDialog.getExistingDirectory() 文件保存 QFileDialog.getSaveFileName() 实例代码: from PyQt5 import QtWidgets from PyQt5.QtWidgets i

  • Python 使用PyQt5 完成选择文件或目录的对话框方法

    如下所示: import sys from PyQt5.QtWidgets import QMainWindow,QApplication,QTextEdit,QAction,QFileDialog from PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): self.tex

  • python文件选择对话框

    python文件选择对话框 对于python的tkinter库来说,如果需要弹出文件选择框,我们需要引入一下tkinter.filedialog包,让用户直观地先择一个或者多个文件或者保存文件等操作. 常见的文件选择对话框函数有 **打开一个文件:**askopenfilename() **打开一组文件:**askopenfilenames() **保存文件:**asksaveasfilename() 首先是打开一个文件我们将使用的对话函数是askopenfilename() from tkin

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

    PyQt之打开保存对话框(QFileDialog)的方法和使用 一.控件说明 QFileDialog是用于打开和保存文件的标准对话框,继承自QDialog类. QFileDialog在打开文件时使用了文件过滤器,用于显示指定扩展名的文件,也可以设置使用QFileDialog打开文件时的起始文件路径和指定扩展名. 二.QFileDialog类的常用方法 getOpenFileName(): 返回用户所选择文件的名称并打开该文件 getSaveFileName(): 使用用户选择的文件名并保存文件

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

    PyQt5打开保存对话框QFileDialog介绍 QFIleDialog是用于打开和保存文件的标准对话框.QFileDialog类继承自QDialog类 QFileDialog在打开文件时使用可文件过滤器,用于显示指定扩展名的文件,也可以设置使用QFileDialog打开文件时的起始目录和指定扩展名的文件 QFileDialog类中的常用方法 方法 描述 getOpenFileName() 返回用户所选择文件的名称,并打开该文件 getSaveFileName() 使用用户选择的文件名保存文件

  • java导出Excel通用方法的实例详解

    java导出Excel通用方法的实例详解 Java导出Excel通用方法,只需要一个list 集合.通用方法改进之处踊跃提出 package oa.common.utils; import java.io.OutputStream; import java.util.List; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import java.lan

  • Eclipse工程转为兼容Android Studio模式的方法步骤图文详解

    方法/步骤 准备好需要转换的工程 , 最好是新建一个文件夹 , 然后将主工程和依赖工程放到同一个目录 屏幕快照 2016-12-24 12.43.02.png 在eclipse中导入主工程和依赖工程 , 导入之后最好先跑一遍 , 确定没有问题再继续操作 屏幕快照 2016-12-24 12.40.03.png 在主工程上右键导出 屏幕快照 2016-12-24 12.53.51.png 将工程导出为Generate Gradle build files , 这一步很重要哦 , 只有导出为这个模式

  • 对python requests的content和text方法的区别详解

    问题: 一直在想requests的content和text属性的区别,从print 结果来看是没有任何区别的 看下源码: @property def text(self): """Content of the response, in unicode. If Response.encoding is None, encoding will be guessed using ``chardet``. The encoding of the response content is

  • Java 添加Word目录的2种方法示例代码详解

    目录是一种能够快速.有效地帮助读者了解文档或书籍主要内容的方式.在Word中,插入目录首先需要设置相应段落的大纲级别,根据大纲级别来生成目录表.本文中生成目录分2种情况来进行: 1.文档没有设置大纲级别,生成目录前需要手动设置 2.文档已设置大纲级别,通过域代码生成目录 使用工具: •Free Spire.Doc for Java 2.0.0 (免费版) •IntelliJ IDEA 工具获取途径1:通过官网下载jar文件包,解压并导入jar文件到IDEA程序. 工具获取途径2:通过Maven仓

  • Android EditText输入框实现下拉且保存最近5个历史记录思路详解

    文章结构: 后面又添加了清空历史记录的标签,就是在每一次添加更新后台数组后,数组的下一个标签为清空历史记录. s_btnDown.setOnClickListener(this); //对其进行焦点监听 case R.id.btnDown: showListPopulWindow(); //调用显示PopuWindow 函数 break; 点击后触发PopuWindow函数,也就是将其下拉框,绑定到TextBox标签的下面. private void showListPopulWindow()

  • ASP.NET Core中Startup类、Configure()方法及中间件详解

    ASP.NET Core 程序启动过程如下 1, Startup 类 ASP.NET Core 应用使用Startup类,按照约定命名为Startup.Startup类: 可选择性地包括ConfigureServices方法以配置应用的服务. 必须包括Configure方法以创建应用的请求处理管道. 当应用启动时,运行时调用ConfigureServices和Configure . Startup 方法体如下 public class Startup { // 使用此方法向容器添加服务 publ

  • PHP的重载使用魔术方法代码实例详解

    摘录PHP官网对PHP重载的解释: PHP所提供的"重载"(overloading)是指动态地"创建"类属性和方法.我们是通过魔术方法(magic methods)来实现的. 当调用当前环境下未定义或不可见的类属性或方法时,重载方法会被调用.本节后面将使用"不可访问属性(inaccessible properties)"和"不可访问方法(inaccessible methods)"来称呼这些未定义或不可见的类属性或方法. 所有

  • Spring Data JPA 简单查询--方法定义规则(详解)

    一.常用规则速查 1 And 并且 2 Or   或 3 Is,Equals 等于 4 Between   两者之间 5 LessThan 小于 6 LessThanEqual   小于等于 7 GreaterThan 大于 8 GreaterThanEqual   大于等于 9 After 之后(时间) > 10 Before 之前(时间) < 11 IsNull 等于Null 12 IsNotNull,NotNull 不等于Null 13 Like 模糊查询.查询件中需要自己加 % 14

随机推荐