当前位置: 首页 > 编程笔记 >

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

颜霖
2023-03-14
本文向大家介绍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 加载图片和文本文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我已经尝试搜索,但仍然没有解决方案。当我导出到jar文件时,我的所有图像突然不再起作用。它们在Eclipse中运行良好,并且我已确保它们在jar文件中。我尝试使用get资源方法并制作一个图像加载器类来自动向上目录树,但它仍然失败。这是我所做的: 我将发送的路径如下所示:“ doc / icon.png” 我将所有图像放置在doc文件夹中,结构是最终项目,在内部有doc文件夹,然后是sr

  • 1.手机版 1)对话中下载、转发:长按对话中的文件/图片-转发/下载   2)文件库里下载、转发:我-文件-找到要操作的文件/图片-转发/下载   2.电脑版 1)对话中下载、转发:对话中的文件/图片-下载/转发   下载后的文件可以点击打开或打开文件夹 2)文件库里下载、转发:上方文件按钮-找到要操作的文件/图片-下载/转发

  • 我有picturebox,我尝试编写代码,当用户加载另一个图像到picturebox,旧文件,在图片中被删除。我试图找到24小时的解决方案,但我没有找到完全有效的解决方案。 我正在犯错误

  • 问题内容: 首先,我对Java非常基础。我正在尝试浏览.txt文件并将其内容加载到文本区域。我已经完成了该部分,直到从JFileChooser接收文件为止,现在我不知道如何做其余的工作。 问题答案: 使用所有Swing文本组件都支持的read(…)和write(…)方法。简单的例子:

  • 我已经创建了一个函数来使用URL从文件中获取文本。该函数使用jQuery的来获取文件。这个函数工作得很好,但这里的问题是是异步的,所以输出的顺序是不可预测的。我尝试将它更改为同步的,但它完全冻结了页面。我尝试过等待它响应,我想我会花点时间,但它没有起作用。 这是我的密码。 此函数输出 这就产生了一个问题,因为我无法文件的内容,因为它还没有加载,因为异步的get函数。那么,有没有办法告诉函数等待返回

  • 我正在使用webpack管理reactjs项目。我想通过webpack