python自助生成二维码?接下来我们就一起去了解一下吧!python自助生成二维码今天是个不错的日子,却给我带来了更大的烦恼,为什么呢?因为我看到了这个消息,突然想到这么大年纪了,身边的朋友都结婚生子了,唯独我还没有,焦虑、忧愁。最后双击生成好的qrcodewin.exe即可运行我只是记录我的学习过程,由于书读得少,可能很多地方表述或者是理解得不对,请轻喷并指正。

python自助生成二维码?今天是个不错的日子,却给我带来了更大的烦恼,为什么呢? ,下面我们就来聊聊关于python自助生成二维码?接下来我们就一起去了解一下吧!
python自助生成二维码
今天是个不错的日子,却给我带来了更大的烦恼,为什么呢?
因为我看到了这个消息,突然想到这么大年纪了,身边的朋友都结婚生子了,唯独我还没有,焦虑、忧愁。算了,我们还是继续学习吧 前面简单的尝试了一下PyQt,这里我们就结合PyQt来给之前生成二维码的脚本做个可视化的界面。 首先,打开designer,新建一个窗口并保存为QRCodeui.ui
然后拖拽两个GroupBox并分别将其title属性改为二维码参数和二维码展示
我们在二维码参数的GroupBox分别拖拽一个label、一个text和两个button,在二维码展示的GroupBox中拖拽一个label用于展示二维码
目前,一个简单的ui界面就拖拽出来了,我们来执行pyuic5 -o qrcodeui.py qrcodeui.ui命令,将UI转为py文件 我们先新建一个py文件,把咱们的ui启动起来
import sysfrom PyQt5 import QtWidgetsfrom qrcodeui import Ui_mainWindowif __name__ == '__main__':app =QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = Ui_mainWindow()ui.setupUi(MainWindow)MainWindow.show()sys.exit(app.exec_())
先来实现一段简陋的代码
import sysfrom PyQt5 import QtWidgets,QtGui,QtCoreimport qrcodeimport win32clipboard as clipimport win32confrom io import BytesIOfrom PIL import Imagefrom qrcodeui import Ui_mainWindowdef btn_CreateQrCode():qrcode_text=ui.lineEdit.text()if qrcode_text=='':QtWidgets.QMessageBox.information(MainWindow,(u'提示'),(u'请填写二维码内容'),QtWidgets.QMessageBox.Ok)else:qr_img = qrcode.QRCode(version=1,#控制二维码的大小,取值范围从1到40。取最小值1时,二维码大小为21*21error_correction=qrcode.constants.ERROR_CORRECT_L,#控制二维码纠错级别box_size=10,# 控制二维码中每个格子的像素数,默认为 10border=4, # 控制二维码四周留白包含的格子数,默认为4)# 设置二维码数据qr_data = "我的一个二维码"qr_img.add_data(data=qr_data)qr_img.make(fit=True)# 根据颜色生成二维码图片img = qr_img.make_image(fill_, back_)#保存二维码img.save('D:/qrcode.png')ui.label_2.setPixmap(QtGui.QPixmap("D:/qrcode.png"))#加载二维码def btn_CopyQrCode():image = Image.open('D:/qrcode.png')img_byte = BytesIO()# 用BMP格式存储image.save(img_byte, 'BMP')# BMP图片有14字节的header,需要额外去除data = img_byte.getvalue()[14:]# 关闭img_byte.close()# 打开剪切板clip.OpenClipboard()#清空剪切板clip.EmptyClipboard()#往剪贴板写入数据clip.SetClipboardData(clip.CF_DIB, data)#关闭剪切板clip.CloseClipboard()if __name__ == '__main__':app =QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = Ui_mainWindow()ui.setupUi(MainWindow)#给按钮绑定事件ui.pushButton.clicked.connect(btn_CreateQrCode)ui.pushButton_2.clicked.connect(btn_CopyQrCode)MainWindow.show()sys.exit(app.exec_())
现在运行起来看看效果:
我们使用pyinstaller来把它打包成exe,执行pyinstaller -w -F qrcodewin.py就会在当前自动生成一个dist目录,相应的exe就存放在dist目录中。最后双击生成好的qrcodewin.exe即可运行
我只是记录我的学习过程,由于书读得少,可能很多地方表述或者是理解得不对,请轻喷并指正。
