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

时间:2022-10-14 20:27:33

首先我们来看一组效果

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

选择图片文本设置完以后

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

选择过程中

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

核心代码解释

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  # 这个函数是用来打开电脑的资源管理器选择照片用的
  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)

完整代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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 加载图片和文本文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/jeekmary/article/details/79590570