• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:PyQt实现文件浏览

python 搞代码 3年前 (2022-02-20) 56次浏览 已收录 0个评论
文章目录[隐藏]

背景

课程设计GUI须要,补充在之前文章的繁难图片读取软件上

实现

首先要定义一个惯例按钮

self.bt2 = QPushButton('浏览', self)
self.bt2.setGeometry(80, 90, 70 ,30) 
self.bt2.setToolTip('<b>点击这里浏览文件</b>')

将按钮链接到文件浏览性能中

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()

成果

附录

思否这边如同不反对折叠性能,全副在里面有点臃肿,凑活看吧

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('<b>点击这里读取图片</b>')
        self.bt1.clicked.connect(self.showMessage)

        self.bt2 = QPushButton('浏览', self)
        self.bt2.setGeometry(80, 90, 70 ,30)
        self.bt2.setToolTip('<b>点击这里浏览文件</b>')
        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_())


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:PyQt实现文件浏览
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址