vr7jj 发表于 2018-6-26 18:02

【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

vr7jj 发表于 2018-6-27 09:47

li645944229 发表于 2018-6-26 19:24
老哥,qt怎么学啊。网上找不到很多资源啊,难道啃英文……求解惑

这种简单的工具都是现学现用。有问题就是各种百度,如果是系统的学习那就另当别论

zhan170 发表于 2019-5-8 22:11

你也是用pyinstaller 打包的吗?我用了pyzbar打包解析不了二维码,直接运行的时候可以。。。
大神你是怎么把dll也生成的

Hunjun 发表于 2018-6-26 18:28

感谢分享,保留备用

TYH050712 发表于 2018-6-26 18:33

谢谢楼主分享
正在学习Python语言。。。

ym493177844 发表于 2018-6-26 18:46

感谢楼主分享

十九世纪loser 发表于 2018-6-26 19:14

感谢分享

汆肉米线 发表于 2018-6-26 19:21

我就是阿里看看

li645944229 发表于 2018-6-26 19:24

老哥,qt怎么学啊。网上找不到很多资源啊,难道啃英文……求解惑{:1_893:}

WhatC 发表于 2018-6-26 19:57

拿来试试{:1_893:}

hack现实 发表于 2018-6-26 21:47

感谢大神分享

小高231 发表于 2018-6-26 23:15


谢谢楼主分享
页: [1] 2
查看完整版本: 【python】windows二维码工具