本帖最后由 vr7jj 于 2018-6-26 18:21 编辑
python windows二维码工具
简要说明
最近在维护自己开设的公众号,偶尔需要生成二维码。二维码生成很多但大多都是网页版本。python生成二维码之前也实现过,所以有空闲自己使用pyqt5写个windows工具。
工具说明
先看下最新版本工具界面
本次升级优化如下内容:
- 增加解二维码功能
- “二维码”和“logo文件”可直接拖进图片
源码解析
python二维码解析库常用的有zbar、zbarlight、zxing
1、zbar和zbarlight内核一致,都是基于zbar的dll编译加载的。
2、zbarlight使用比zbar更简单,不过是在zbar的基础又做了一点点封装而已。
3、zxing是基于java的zxing核心的python分支,其原理是调用javaw 加载zxing的core.jar包,再获取输出结果。
但zbar不支持python3,zbarlight也是同理。而zxing使用还得去调用java有些麻烦。之后在github找到了python3的库pyzbar
def decodeQr(filename):
from pyzbar.pyzbar import decode
if os.path.exists(filename):
d = decode(Image.open(filename))
return d[0].data
else:
return ''
pyqt5 输入控拖拽功能的实现
class LineEditEx(QtWidgets.QLineEdit):
'''重写QLineEdit'''
def __init__(self, parent=None):
super().__init__(None, parent)
self.setGeometry(50, 50, 100, 20)
self.setAcceptDrops(True)
self.setDragEnabled(True) # 开启可拖放事件
def dragEnterEvent(self, QDragEnterEvent):
e = QDragEnterEvent
if e.mimeData().hasText():
e.accept()
else:
e.ignore()
def dropEvent(self, e):
file = str(e.mimeData().text()).split('file:///')[1]
self.setText(file)
源码及工具
链接:https://pan.baidu.com/s/1rcAR-JpRcSb1uR3MdpqCTQ
密码:bu5q
|