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

yipeiwu_com6年前Python基础

首先我们来看一组效果

选择图片文本设置完以后

选择过程中

核心代码解释

  # 这个函数是用来打开电脑的资源管理器选择照片用的
  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自动生产表情包

Python自动生产表情包

作为一个数据分析师,应该信奉一句话——“一图胜千言”。不过这里要说的并不是数据可视化,而是一款全民向的产品形态——表情包!!!! 表情包不仅仅是一种符号,更是一种文化——是促进社交乃至社...

详解Python中的多线程编程

详解Python中的多线程编程

一、简介        多线程编程技术可以实现代码并行性,优化处理能力,同时功能的更小划分可以使代码的可重用性更好。Pytho...

python实现简单tftp(基于udp协议)

python实现简单tftp(基于udp协议)

本文实例为大家分享了python实现简单tftp的具体代码,供大家参考,具体内容如下 tftp是基于udp的协议 实现简单的tftp,首先要有tftp的协议图。 tft...

对python .txt文件读取及数据处理方法总结

对python .txt文件读取及数据处理方法总结

1、处理包含数据的文件 最近利用Python读取txt文件时遇到了一个小问题,就是在计算两个np.narray()类型的数组时,出现了以下错误: TypeError: ufunc '...

分分钟入门python语言

Python 是 90 年代初由 Guido Van Rossum 创立的。它是当前最流行的程序语言之一。它那纯净的语法令我一见倾心,它简直就是可以运行的伪码。 请注意:本文以 Pyth...