【python】windows二维码工具
本帖最后由 vr7jj 于 2018-6-26 18:21 编辑# python windows二维码工具
## 简要说明
最近在维护自己开设的公众号,偶尔需要生成二维码。二维码生成很多但大多都是网页版本。python生成二维码之前也实现过,所以有空闲自己使用pyqt5写个windows工具。
## 工具说明
先看下最新版本工具界面
![这里写图片描述](https://img-blog.csdn.net/20180623230210160?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ZyN2pq/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
本次升级优化如下内容:
- **增加解二维码功能**
- **“二维码”和“logo文件”可直接拖进图片**
![这里写图片描述](https://img-blog.csdn.net/20180624085017952?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ZyN2pq/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
##源码解析
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
``` python
def decodeQr(filename):
from pyzbar.pyzbar import decode
if os.path.exists(filename):
d =decode(Image.open(filename))
returnd.data
else:
return ''
```
pyqt5 输入控拖拽功能的实现
``` python
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:///')
self.setText(file)
```
## 源码及工具
链接:https://pan.baidu.com/s/1rcAR-JpRcSb1uR3MdpqCTQ
密码:bu5q li645944229 发表于 2018-6-26 19:24
老哥,qt怎么学啊。网上找不到很多资源啊,难道啃英文……求解惑
这种简单的工具都是现学现用。有问题就是各种百度,如果是系统的学习那就另当别论 你也是用pyinstaller 打包的吗?我用了pyzbar打包解析不了二维码,直接运行的时候可以。。。
大神你是怎么把dll也生成的 感谢分享,保留备用 谢谢楼主分享
正在学习Python语言。。。
感谢楼主分享 感谢分享 我就是阿里看看 老哥,qt怎么学啊。网上找不到很多资源啊,难道啃英文……求解惑{:1_893:} 拿来试试{:1_893:} 感谢大神分享
谢谢楼主分享
页:
[1]
2