猫史档案馆


【Python作品分享】二维码生成器【作品秀】

用户:小白一号Rua小白一号Rua查看:0 回复:2 评论:0 创建时间:2020-09-15T22:14:25


【作品展示】

center_image

 

【作品介绍】

二维码生成器1.0

使用pyside2,MyQP,PIL,easyguiz制作

支持上传图片修改大小对比度,亮度等参数。

文本仅限英文符号等,可加载网页。

可上传.png.jpg.gif的图像

支持彩色

可制作动态的二维码

--------------------------------------------------------------------------------------

【有时展示图片会花屏,暂不知道哪儿出问题】

亲测无bug,有bug欢迎提出!

*因为只能上传一张图,就只能拼在一起

 

【作品源代码】

import sys
import os
import easygui as eg

from MyQR import myqr
from PySide2.QtWidgets import *
from PySide2.QtGui import *
from PIL import Image,ImageFilter, ImageQt
from ui_QR import Ui_MainWindow



class Filter(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.show()
        self.button()
        self.wait.show()
        self.loding.hide()
        self.ok.hide()
        self.no.hide()
        
    def button(self):
        self.choose.clicked.connect(self.choose_picture)
        self.choose_save.clicked.connect(self.choose_save_route)
        self.go.clicked.connect(self.try_make_QR)
        self.reset.clicked.connect(self.fun_reset)

    def try_make_QR(self):
        try:
            self.hide_all()
            self.loding.show()
            Route = self.Route.text()
            self.file_Route,self.file_name = os.path.split(Route)
            
            if 'True' in self.color.currentText():
                self.colorized = True
            else:
                self.colorized = False
            myqr.run(words=self.text.text(), version=int(self.version.text()), colorized=self.colorized, contrast=float(self.contrast.text()), brightness=float(self.brightness.text()),picture=self.picture_path,save_name=self.file_name, save_dir=self.file_Route)
            self.hide_all()
            self.ok.show()
        except:
            try:
                myqr.run(words=self.text.text(), version=int(self.version.text()), colorized=self.colorized, contrast=float(self.contrast.text()), brightness=float(self.brightness.text()),save_name=self.file_name, save_dir=self.file_Route)
                self.hide_all()
                self.ok.show()
            except:
                self.hide_all()
                self.no.show()

    def choose_picture(self):
        self.hide_all()
        self.wait.show()
        if 'True' in self.GIF.currentText():
            tmp = QFileDialog.getOpenFileName(caption='选择文件', filter="(*.jpg *.png *.gif)")[0]
        else:
            tmp = QFileDialog.getOpenFileName(caption='选择文件', filter="(*.jpg *.png)")[0]
        if tmp != '':
            self.picture_path = tmp
            self.picture_Route.setText(self.picture_path)
            self.img = Image.open(self.picture_path)
            img_qt = ImageQt.ImageQt(self.img)
            img_show = QPixmap.fromImage(img_qt)
            self.choose_png_gif.setPixmap(img_show)
        else:
            if self.choose_png_gif.text() != '未选择图片' and self.picture_Route.text() != '请先选择路径...':
                tmp = eg.ynbox('你已点击取消,是否删除数据', '未选择', ('保留图片数据数据', '删除数据'))
                if tmp == False:
                    self.picture_path = ''

                    self.choose_png_gif.setText('           未选择图片')
                    self.picture_Route.setText('请先选择路径...')


    def choose_save_route(self):
        self.hide_all()
        self.wait.show()
        if 'True' in self.GIF.currentText():
            Route = QFileDialog.getSaveFileName(caption='选择保存文件夹', filter = "(*.gif)")[0]
        else:
            Route = QFileDialog.getSaveFileName(caption='选择保存文件夹', filter = "(*.png)")[0]
        if Route != '':
            self.Route.setText(Route)
        else:
            if self.Route.text() != '请先选择路径...':
                tmp = eg.ynbox('你已点击取消,是否删除数据', '未选择', ('保留图片数据数据', '删除数据'))
                if tmp == False:
                    self.Route.setText('请先选择路径...')


    def hide_all(self):
        self.wait.hide()
        self.loding.hide()
        self.ok.hide()
        self.no.hide()
    def fun_reset(self):
        self.hide_all()
        self.wait.show()



if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Filter()
    sys.exit(app.exec_())

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
哈斯迪喵哈斯迪喵

emotion_编程猫_点赞

点赞0


评论


啸猫啸猫

emotion_编程猫_翻白眼

点赞0


评论