Python结合pyqt5、qrcode、PIL编写的二维码生成及美化程序代码

0.概述

主界面
业余时间学Python,打发时间。这次算是做了个练习,主要用到pyqt5、qrcode、PIL库。学Python太难了,感觉越学越迷糊,教程书都是入门的东西,真正做起小程序来根本就搞不来,一顿百度操作。说实在,很多东西都没有具体的讲解,纯粹靠蒙。

源码下载

1.引用的库

# -*- coding: utf-8 -*-

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import QFont, QColor
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox , QFileDialog , QColorDialog
from PyQt5.QtGui import QPixmap
import sys, os, qrcode, ihelp, idata
from PIL import Image , ImageQt , ImageEnhance , ImageDraw

2.重载标签类

class MyLabel(QtWidgets.QLabel):    #重载标签类,添加双击事件信号
    DoubleClicked = QtCore.pyqtSignal() #自定义信号
    def __init__(self, parent=None):
        super(MyLabel, self).__init__(parent)
    def mouseDoubleClickEvent(self, event): #双击事件
        if event.buttons () == QtCore.Qt.LeftButton:
            self.DoubleClicked.emit()   #发射信号

3.主窗口ui函数

class Ui_MainWindow(QWidget):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(750, 545)
        MainWindow.setFixedSize(MainWindow.width(), MainWindow.height())    #固定窗口大小,取消最大化
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
        MainWindow.setSizePolicy(sizePolicy)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("source/icon.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.setWindowIcon(QtGui.QIcon("source/icon.ico"))
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton_creatqrcode = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_creatqrcode.setGeometry(QtCore.QRect(570, 370, 81, 31))
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap("source/creat.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pushButton_creatqrcode.setIcon(icon1)
        self.pushButton_creatqrcode.setObjectName("pushButton_creatqrcode")
        self.label_qrcode_img = QtWidgets.QLabel(self.centralwidget)
        self.label_qrcode_img.setGeometry(QtCore.QRect(400, 10, 341, 341))
        self.label_qrcode_img.setFrameShape(QtWidgets.QFrame.Box)
        self.label_qrcode_img.setFrameShadow(QtWidgets.QFrame.Raised)
        self.label_qrcode_img.setAlignment(QtCore.Qt.AlignCenter)
        self.label_qrcode_img.setObjectName("label_qrcode_img")
        self.pushButton_saveqrcode = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_saveqrcode.setGeometry(QtCore.QRect(660, 370, 81, 31))
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap("source/save.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pushButton_saveqrcode.setIcon(icon2)
        self.pushButton_saveqrcode.setObjectName("pushButton_saveqrcode")
        self.pushButton_about = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_about.setGeometry(QtCore.QRect(660, 470, 81, 31))
        self.pushButton_about.setObjectName("pushButton_about")
        self.pushButton_help = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_help.setGeometry(QtCore.QRect(570, 470, 81, 31))
        self.pushButton_help.setObjectName("pushButton_help")
        self.groupBox_center_pic = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_center_pic.setGeometry(QtCore.QRect(10, 440, 251, 101))
        self.groupBox_center_pic.setChecked(False)
        self.groupBox_center_pic.setObjectName("groupBox_center_pic")
        self.label_center_picture = QtWidgets.QLabel(self.groupBox_center_pic)
        self.label_center_picture.setGeometry(QtCore.QRect(10, 20, 71, 71))
        self.label_center_picture.setFrameShape(QtWidgets.QFrame.Box)
        self.label_center_picture.setAlignment(QtCore.Qt.AlignCenter)
        self.label_center_picture.setObjectName("label_center_picture")
        self.labe_2 = QtWidgets.QLabel(self.groupBox_center_pic)
        self.labe_2.setGeometry(QtCore.QRect(160, 30, 24, 12))
        self.labe_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
        self.labe_2.setObjectName("labe_2")
        self.comboBox_pic_size = QtWidgets.QComboBox(self.groupBox_center_pic)
        self.comboBox_pic_size.setGeometry(QtCore.QRect(190, 20, 51, 30))
        self.comboBox_pic_size.setObjectName("comboBox_pic_size")
        self.labe_3 = QtWidgets.QLabel(self.groupBox_center_pic)
        self.labe_3.setGeometry(QtCore.QRect(160, 70, 24, 12))
        self.labe_3.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
        self.labe_3.setObjectName("labe_3")
        self.comboBox_pic_circle = QtWidgets.QComboBox(self.groupBox_center_pic)
        self.comboBox_pic_circle.setGeometry(QtCore.QRect(190, 60, 51, 30))
        self.comboBox_pic_circle.setObjectName("comboBox_pic_circle")
        self.pushButton_addcenterpic = QtWidgets.QPushButton(self.groupBox_center_pic)
        self.pushButton_addcenterpic.setGeometry(QtCore.QRect(90, 20, 51, 31))
        self.pushButton_addcenterpic.setObjectName("pushButton_addcenterpic")
        self.pushButton_delcenterpic = QtWidgets.QPushButton(self.groupBox_center_pic)
        self.pushButton_delcenterpic.setGeometry(QtCore.QRect(90, 60, 51, 31))
        self.pushButton_delcenterpic.setObjectName("pushButton_delcenterpic")
        self.groupBox_bk_pic = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_bk_pic.setGeometry(QtCore.QRect(270, 360, 291, 181))
        self.groupBox_bk_pic.setObjectName("groupBox_bk_pic")
        self.comboBox_bk_contrast = QtWidgets.QComboBox(self.groupBox_bk_pic)
        self.comboBox_bk_contrast.setGeometry(QtCore.QRect(230, 140, 51, 30))
        self.comboBox_bk_contrast.setObjectName("comboBox_bk_contrast")
        self.labe_5 = QtWidgets.QLabel(self.groupBox_bk_pic)
        self.labe_5.setGeometry(QtCore.QRect(180, 150, 36, 12))
        self.labe_5.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
        self.labe_5.setObjectName("labe_5")
        self.comboBox_bk_tran = QtWidgets.QComboBox(self.groupBox_bk_pic)
        self.comboBox_bk_tran.setGeometry(QtCore.QRect(230, 100, 51, 30))
        self.comboBox_bk_tran.setObjectName("comboBox_bk_tran")
        self.labe_6 = QtWidgets.QLabel(self.groupBox_bk_pic)
        self.labe_6.setGeometry(QtCore.QRect(180, 110, 36, 12))
        self.labe_6.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
        self.labe_6.setObjectName("labe_6")
        self.label_bk_picture = QtWidgets.QLabel(self.groupBox_bk_pic)
        self.label_bk_picture.setGeometry(QtCore.QRect(10, 20, 151, 151))
        self.label_bk_picture.setFrameShape(QtWidgets.QFrame.Box)
        self.label_bk_picture.setAlignment(QtCore.Qt.AlignCenter)
        self.label_bk_picture.setObjectName("label_bk_picture")
        self.pushButton_addbkpic = QtWidgets.QPushButton(self.groupBox_bk_pic)
        self.pushButton_addbkpic.setGeometry(QtCore.QRect(170, 20, 51, 31))
        self.pushButton_addbkpic.setObjectName("pushButton_addbkpic")
        self.pushButton_delbkpic = QtWidgets.QPushButton(self.groupBox_bk_pic)
        self.pushButton_delbkpic.setGeometry(QtCore.QRect(230, 20, 51, 31))
        self.pushButton_delbkpic.setObjectName("pushButton_delbkpic")
        self.comboBox_bk_mode = QtWidgets.QComboBox(self.groupBox_bk_pic)
        self.comboBox_bk_mode.setGeometry(QtCore.QRect(230, 60, 51, 30))
        self.comboBox_bk_mode.setObjectName("comboBox_bk_mode")
        self.labe_10 = QtWidgets.QLabel(self.groupBox_bk_pic)
        self.labe_10.setGeometry(QtCore.QRect(190, 70, 24, 12))
        self.labe_10.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
        self.labe_10.setObjectName("labe_10")
        self.groupBox_3 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_3.setGeometry(QtCore.QRect(10, 10, 251, 241))
        self.groupBox_3.setObjectName("groupBox_3")
        self.plainTextEdit = QtWidgets.QPlainTextEdit(self.groupBox_3)
        self.plainTextEdit.setGeometry(QtCore.QRect(10, 20, 231, 171))
        self.plainTextEdit.setObjectName("plainTextEdit")
        self.pushButton_openinfo = QtWidgets.QPushButton(self.groupBox_3)
        self.pushButton_openinfo.setGeometry(QtCore.QRect(10, 200, 71, 31))
        self.pushButton_openinfo.setObjectName("pushButton_openinfo")
        self.pushButton_saveinfo = QtWidgets.QPushButton(self.groupBox_3)
        self.pushButton_saveinfo.setGeometry(QtCore.QRect(90, 200, 71, 31))
        self.pushButton_saveinfo.setObjectName("pushButton_saveinfo")
        self.checkBox_autoline = QtWidgets.QCheckBox(self.groupBox_3)
        self.checkBox_autoline.setGeometry(QtCore.QRect(170, 208, 71, 16))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.checkBox_autoline.sizePoli
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值