首先我们来看一组效果
选择图片文本设置完以后
选择过程中
核心代码解释
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