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 相关文章推荐
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
python删除过期文件的方法
May 29 Python
Python实现二叉搜索树
Feb 03 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
python八皇后问题的解决方法
Sep 27 Python
python3.x实现base64加密和解密
Mar 28 Python
python和c语言的主要区别总结
Jul 07 Python
使用pandas读取文件的实现
Jul 31 Python
python实现批量修改服务器密码的方法
Aug 13 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
Python实现简单的2048小游戏
Mar 01 Python
Python实现归一化算法详情
Mar 18 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
PHP自动更新新闻DIY
2006/10/09 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
laydate日历控件使用方法详解
2017/11/20 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
Python 常用的安装Module方式汇总
2017/05/06 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
python将list转为matrix的方法
2018/12/12 Python
python中的&&及||的实现示例
2019/08/07 Python
python 实现矩阵按对角线打印
2019/11/29 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
演讲稿怎么写
2014/01/07 职场文书
2014和解协议书范文
2014/09/15 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
公司表扬信格式
2015/05/04 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
文书工作总结(范文)
2019/07/11 职场文书
创业计划书之书店
2019/09/10 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL