Pyqt文件对话框QFileDialog打开图像文件、text文件

'''
QFileDialog 文件对话框:图像文件,文本文件
'''

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

class QDialogDemo(QWidget):
    def __init__(self):
        super().__init__()##继承父类构造函数
        self.initUI()#初始化UI
    def initUI(self):
        #self.resize(600,600)            #窗口大小
        self.setWindowTitle('文件选择案例')#窗口名称
        layout=QVBoxLayout()            #垂直排列
        self.button=QPushButton('选择图片')
        self.button.clicked.connect(self.loadimage)#定义按钮的信号和槽
        self.label=QLabel()
        layout.addWidget(self.button)
        layout.addWidget(self.label)
        #以上为加载图片文件
        self.button2 = QPushButton('选择文件')
        self.button2.clicked.connect(self.loadfile)  # 定义按钮的信号和槽
        layout.addWidget(self.button2)
        self.text=QTextEdit('文件名')  ##文本框用于显示文件
        layout.addWidget(self.text)
        self.setLayout(layout)
        #以上为打开文件

    def loadimage(self):
        image,_=QFileDialog.getOpenFileName(self,'打开文件','.','图像文件(*.jpg *.png)')#第三个参数是默认路径,第四个参数是打开哪一类图像
        #print(image)
        self.label.setPixmap(QPixmap(image)) #窗口随图片大小变化

    def loadfile(self):   ##打开text文本
        #pass  #函数设为空
        dialog=QFileDialog()
        dialog.setFileMode(QFileDialog.AnyFile)
        dialog.setFilter(QDir.Files)
        if dialog.exec():
            filenames=dialog.selectedFiles()
            f=open(filenames[0],encoding='utf-8',mode='r')
            with f:  ##关闭文件
                data=f.read()
                self.text.setText(data)

if __name__=='__main__':   ##启动语句
    app=QApplication(sys.argv)
    main=QDialogDemo()
    main.show()
    sys.exit(app.exec_())

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值