PyQt5 加载图片和文本文件的实例


Posted in Python onJune 14, 2019

首先我们来看一组效果

PyQt5 加载图片和文本文件的实例

选择图片文本设置完以后

PyQt5 加载图片和文本文件的实例

选择过程中

PyQt5 加载图片和文本文件的实例

核心代码解释

# 这个函数是用来打开电脑的资源管理器选择照片用的
  def loadFile(self):
    print("load--file")
    # QFileDialog就是系统对话框的那个类第一个参数是上下文,第二个参数是弹框的名字,第三个参数是开始打开的路径,第四个参数是需要的格式
    fname, _ = QFileDialog.getOpenFileName(self, '选择图片', 'c:\\', 'Image files(*.jpg *.gif *.png)')
    self.label.setPixmap(QPixmap(fname))


# 这个函数是打开文本选择器,加载文本的函数
   def load_text(self):
    print("load--text")
    #初始化这个实例,设置一些基本属性
    dlg = QFileDialog()
    dlg.setFileMode(QFileDialog.AnyFile)
    dlg.setFilter(QDir.Files)
    # 当选择器关闭的时候
    if dlg.exec_():
      # 拿到所选择的的文本
      filenames = dlg.selectedFiles()
      #读取文本内容设置到TextEdit当中来
      f = open(filenames[0], 'r')
      with f:
        data = f.read()
        self.content.setText(data)

完整代码

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class filedialogdemo(QWidget):

  def __init__(self, parent=None):
    super(filedialogdemo, self).__init__(parent)
    layout = QVBoxLayout()

    self.btn = QPushButton()
    self.btn.clicked.connect(self.loadFile)
    self.btn.setText("从文件中获取照片")
    layout.addWidget(self.btn)

    self.label = QLabel()
    layout.addWidget(self.label)

    self.btn_2 = QPushButton()
    self.btn_2.clicked.connect(self.load_text)
    self.btn_2.setText("加载电脑文本文件")
    layout.addWidget(self.btn_2)

    self.content = QTextEdit()
    layout.addWidget(self.content)
    self.setWindowTitle("测试")

    self.setLayout(layout)

  def loadFile(self):
    print("load--file")
    fname, _ = QFileDialog.getOpenFileName(self, '选择图片', 'c:\\', 'Image files(*.jpg *.gif *.png)')
    self.label.setPixmap(QPixmap(fname))

  def load_text(self):
    print("load--text")
    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.content.setText(data)

if __name__ == '__main__':
  app = QApplication(sys.argv)
  fileload = filedialogdemo()
  fileload.show()
  sys.exit(app.exec_())

以上这篇PyQt5 加载图片和文本文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python二叉树遍历的实现方法
Nov 21 Python
Python使用django获取用户IP地址的方法
May 11 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 Python
浅谈python中字典append 到list 后值的改变问题
May 04 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
Python后台开发Django会话控制的实现
Apr 15 Python
Python中的正则表达式与JSON数据交换格式
Jul 03 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 Python
Python如何生成xml文件
Jun 04 Python
Python爬虫headers处理及网络超时问题解决方案
Jun 19 Python
解决PyCharm无法使用lxml库的问题(图解)
Dec 22 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 #Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 #Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 #Python
PyQt4实时显示文本内容GUI的示例
Jun 14 #Python
详解Python 定时框架 Apscheduler原理及安装过程
Jun 14 #Python
在python tkinter中Canvas实现进度条显示的方法
Jun 14 #Python
浅谈PySpark SQL 相关知识介绍
Jun 14 #Python
You might like
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
CI框架中redis缓存相关操作文件示例代码
2016/05/17 PHP
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
js闭包的用途详解
2014/11/09 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
python简单区块链模拟详解
2019/07/03 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
Python 如何测试文件是否存在
2020/07/31 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
机关副主任个人四风问题整改措施
2014/09/26 职场文书
Python3接口性能测试实例代码
2021/06/20 Python
vue.js 使用原生js实现轮播图
2022/04/26 Vue.js