• PC版“扫一扫”程序 V0.1 (全网首发)


    现在,二维码十分普遍,有些位置甚至要求你用手机扫描二维码。那么问题来了,如果你想要在扫描完二维码以后在电脑上打开网页,该怎么办呢?

    于是,我用短短的几十行代码写出了这个“扫一扫”程序,以下截图足以证明软件为首发

     (必应搜索结果)

     (谷歌搜索结果)

     (百度搜索结果)

    其他搜索引擎结果大体相同


    那么介绍到此为止,我们贴代码

    代码

     1 import numpy as np
     2 from PIL import Image
     3 from pyzbar import pyzbar
     4 import tkinter as tk
     5 import tkinter.ttk as ttk
     6 import tkinter.filedialog as filebox
     7 
     8 
     9 def readqr(imgpath):
    10     # 读取文件,转成数组
    11     im = np.array(Image.open(imgpath))
    12     print(pyzbar.decode(im))
    13     # 返回的信息还是很多的
    14     """
    15     [
    16        Decoded(data=b'http://www.bilibili.com',
    17            type='QRCODE',
    18            rect=Rect(left=35, top=35, width=263, height=264),
    19            polygon=[Point(x=35, y=35), Point(x=35, y=297), Point(x=297, y=299), Point(x=298, y=35)])
    20     ]
    21     """
    22     # 拿到内容
    23     data = pyzbar.decode(im)[0].data.decode("utf-8")  # http://www.bilibili.com
    24     print(data)
    25     return data
    26 
    27 
    28 def openqr():
    29     path = filebox.askopenfilename(title='打开图片')
    30     print(path)
    31     return path
    32 
    33 
    34 def get_data():
    35     qrdata = readqr(openqr())
    36     data_text.configure(state='normal')
    37     data_text.insert(tk.END, qrdata)
    38     data_text.configure(state='disabled')
    39 
    40 
    41 win = tk.Tk()
    42 win.title('扫一扫PC版')
    43 
    44 ttk.Button(win, text='选择图片', command=get_data).pack(padx=5, pady=5, fill=tk.X)
    45 data_part = ttk.LabelFrame(win, text='二维码数据')
    46 
    47 data_buttons = tk.Frame(win)
    48 tk.Button(data_buttons, text='使用浏览器打开')
    49 
    50 data_part.pack(fill=tk.BOTH, padx=5, pady=5)
    51 data_text = tk.Text(data_part)
    52 data_text.configure(state='disabled')
    53 data_text.pack(fill=tk.BOTH, padx=5, pady=5)
    54 
    55 win.mainloop()

    关于下载

    因为这个程序非常的短小精悍(简单),我就不把下载链接放在网上了,大家可以自己装环境复制代码使用。

  • 相关阅读:
    hashmap
    Java log
    内存映像
    Java 类加载器
    keepalived配虚拟ip(vip)的作用
    zookeeper和keepalived的区别
    Linux修改/etc/profile配置错误command is not found自救方法
    在windows上部署使用Redis
    Nginx+Tomcat安装与配置(windows版)
    Tomcat+Redis+Nginx实现session共享(Windows版)
  • 原文地址:https://www.cnblogs.com/TotoWang/p/scan_pc.html
Copyright © 2020-2023  润新知