pyqt 本地文件ajax,PyQt实现文件浏览

背景

课程设计GUI需要,补充在之前文章的简易图片读取软件上

实现

首先要定义一个常规按钮self.bt2 = QPushButton('浏览', self)

self.bt2.setGeometry(80, 90, 70 ,30)

self.bt2.setToolTip('点击这里浏览文件')

将按钮链接到文件浏览功能中self.bt2.clicked.connect(self.setBrowerPath)

文件浏览模块def setBrowerPath(self):

file_path, file_type = QFileDialog.getOpenFileName(self, '打开文件','./',("Images (*.png *.xpm *.jpg)"))

self.text.setText(file_path)

self.text.selectAll()

self.text.setFocus()

效果

1460000038817240

附录

思否这边好像不支持折叠功能,全部在外面有点臃肿,凑活看吧import sys

import cv2

import numpy

from PyQt5.QtWidgets import QFileDialog, QApplication, QWidget, QPushButton, QMessageBox, QLineEdit

from PyQt5.QtGui import QIcon

from random import randint

class Example(QWidget):

def __init__(self):

super().__init__()

self.initUI()

# self.filename = 'a.jpg'

def initUI(self):

self.setGeometry(300, 300, 300, 150)

self.setWindowTitle('读取图片')

self.setWindowIcon(QIcon('res/faye.jpg'))

self.bt1 = QPushButton('读取', self)

self.bt1.setGeometry(150, 90, 70 ,30)

self.bt1.setToolTip('点击这里读取图片')

self.bt1.clicked.connect(self.showMessage)

self.bt2 = QPushButton('浏览', self)

self.bt2.setGeometry(80, 90, 70 ,30)

self.bt2.setToolTip('点击这里浏览文件')

self.bt2.clicked.connect(self.setBrowerPath)

self.text = QLineEdit('在这里输入文件路径(不要含有中文)', self)

self.text.selectAll()

self.text.setFocus()

self.text.setGeometry(25, 50, 250 ,30)

self.show()

def showMessage(self):

filename = self.text.text()

# print(filename)

img = cv2.imread(filename)

img1 = cv2.imread('a.jpg')

if type(img) == type(img1):

QMessageBox.about(self, '小问题...','路径好像错了')

self.text.selectAll()

self.text.setFocus()

else:

cv2.imshow(filename, img)

cv2.waitKey(0)

self.text.clear()

self.text.setText('在这里输入文件路径(不要含有中文)')

self.text.selectAll()

self.text.setFocus()

def setBrowerPath(self):

file_path, file_type = QFileDialog.getOpenFileName(self, '打开文件','./',("Images (*.png *.xpm *.jpg)"))

self.text.setText(file_path)

self.text.selectAll()

self.text.setFocus()

def closeEvent(self, event):

reply = QMessageBox.question(self, '确认', '确认退出吗', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)

if reply == QMessageBox.Yes:

event.accept()

else:

event.ignore()

if __name__ == '__main__':

app = QApplication(sys.argv)

ex = Example()

sys.exit(app.exec_())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值