用Pyqt5和QT designer做一个更改图像格式,图像后缀的小软件

通过QT designer拖拽,设计的界面如下:

设计的界面以ui文件存储,默认名字是untitled.ui,后台的python代码通过uic.loadui调用界面上的按钮,或者按钮来触发信号

后台python代码如下:

from PyQt5.QtWidgets import QApplication, QMessageBox
from PyQt5 import uic
from PyQt5.QtWidgets import QFileDialog

import os
import cv2 as cv
class Stats:
    def __init__(self):
        # 从文件中加载UI定义

        # 从 UI 定义中动态 创建一个相应的窗口对象
        # 注意:里面的控件对象也成为窗口对象的属性了
        # 比如 self.ui.button , self.ui.textEdit
        self.ui = uic.loadUi("untitled.ui")#untitled.ui


        self.ui.OsButton1.clicked.connect(self.inputOS)#ui.pushButton
        self.ui.jpgButton1.clicked.connect(self.input_sifxjpg)
        self.ui.pngButton1.clicked.connect(self.input_sifxpng)
        self.ui.bmpButton1.clicked.connect(self.input_sifxbmp)
        self.ui.tifButton1.clicked.connect(self.input_sifxtif)
        self.ui.jpegButton1.clicked.connect(self.input_sifxjpeg)


        self.ui.OspushButton2.clicked.connect(self.outputOS)
        self.ui.bmpButton2.clicked.connect(self.output_sifxbmp)
        self.ui.jpgButton2.clicked.connect(self.output_sifxjpg)
        self.ui.pngButton2.clicked.connect(self.output_sifxpng)
        self.ui.tifButton2.clicked.connect(self.output_sifxtif)
        self.ui.jpegButton2.clicked.connect(self.output_sifxjpeg)


        self.ui.pushButton_3.clicked.connect(self.img_process)

    def inputOS(self):
        self.input_filePath = QFileDialog.getExistingDirectory(self.ui, "选择输入图像路径")
        self.ui.lineEdit.setText(self.input_filePath )#展示路径

        # for f in os.listdir(input_filePath):
        #     print(f)
    def input_sifxjpg(self):
        self.input_sifx=".jpg"
    def input_sifxpng(self):
        self.input_sifx=".png"
    def input_sifxbmp(self):
        self.input_sifx = ".bmp"
    def input_sifxtif(self):
        self.input_sifx = ".tif"
    def input_sifxjpeg(self):
        self.input_sifx = ".jpeg"



    def outputOS(self):
        self.output_filePath = QFileDialog.getExistingDirectory(self.ui, "选择存储路径")
        self.ui.lineEdit_2.setText(self.output_filePath )

    def output_sifxbmp(self):
        self.output_sifx = ".bmp"
    def  output_sifxjpg(self):
        self.output_sifx=".jpg"
    def  output_sifxpng(self):
        self.output_sifx=".png"
    def  output_sifxtif(self):
        self.output_sifx = ".tif"
    def  output_sifxjpeg(self):
        self.output_sifx = ".jpeg"


    def img_process(self):
        inputpath = self.input_filePath
        input_sifx = self.input_sifx
        outputpath = self.output_filePath
        output_sifx = self.output_sifx

        # print("输入路径:",inputpath)
        # print(input_sifx )
        # print( outputpath  )
        # print(output_sifx  )

        i=0
        for f in os.listdir(inputpath):
            i=i+1
            print(f)
            img = cv.imread(os.path.join(inputpath,f))
            cv.imwrite( os.path.join(outputpath,f.rstrip(input_sifx) + output_sifx),img)

        QMessageBox.about(self.ui,
                    f'{i}张图像转换完成!',
                    f'''已将【{input_sifx}】格式图像,转换为【{output_sifx}】格式'''
                    )




app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec_()

代码为原创,感谢您的点赞加关注

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值