日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Python如何使用qrcode生成指定內(nèi)容的二維碼并在GUI界面顯示_python

作者:散一世繁華,顛半世琉璃 ? 更新時(shí)間: 2022-11-01 編程語(yǔ)言

前言

現(xiàn)如今我們生活在一個(gè)二維碼的時(shí)代,生活中處處都是二維碼,支付要使用二維碼,微信加好友要使用二維碼,乘坐公共交通要使用二維碼,那么,如果要你使用python語(yǔ)言生成指定內(nèi)容的二維碼,你該怎么做呢?下面我就來(lái)帶你走進(jìn)qrcode的世界吧!

1.下載所需的模塊

qrcode是二維碼生成的Python開源庫(kù),而kinter模塊(“Tk 接口”)是Python的標(biāo)準(zhǔn)Tk GUI工具包的接口。

pip install qrcode
pip install tkinter

下載完畢后在相應(yīng)的項(xiàng)目中導(dǎo)入相應(yīng)的模塊即可

import qrcode
import tkinter

2.生成指定內(nèi)容的二維碼

函數(shù) 描述
qrcode.QRCode() 生成一個(gè)QRCode實(shí)例
add_data(content) 將content內(nèi)容添加到QRCode實(shí)例中
make() 生成指定內(nèi)容的二維碼
make_image() 生成二維碼圖片
save(path) 將指定圖片保存到path路徑下
def mk_qrcode(content):
    q = qrcode.QRCode()#創(chuàng)建一個(gè)QRCode實(shí)例
    q.add_data(content)# 給二維碼添加內(nèi)容
    q.make() #生成二維碼
    #生成圖片
    img = q.make_image()
    # 保存圖片
    img.save(filename)

3.加載二維碼到GUI窗口上顯示

函數(shù) 描述
tkinter.Tk() 生成一個(gè)窗體對(duì)象
tkinter.Canvas() 生成一個(gè)畫布對(duì)象
tkinter.PhotoImage() 創(chuàng)建一個(gè)圖片對(duì)象
create_image() 將圖片加載到畫布上
pack() 顯示畫布
mainloop() 使窗體一直運(yùn)行

具體代碼如下所示:

def show():
    tk = tkinter.Tk() # 創(chuàng)建一個(gè)窗體對(duì)象
    canvas = tkinter.Canvas(tk, width=400, height=400, bg='pink') #創(chuàng)建一個(gè)畫布
    img = tkinter.PhotoImage(file=filename) # 創(chuàng)建一個(gè)圖片對(duì)象
    canvas.create_image(200, 200, image=img) #將此圖片加載到畫布上
    canvas.pack() #顯示畫布
    tk.mainloop() # 使窗體一直運(yùn)行

4.全部代碼展示

import qrcode
import tkinter

filename = '二維碼.png'

def mk_qrcode(content):
    q = qrcode.QRCode()
    q.add_data(content)# 給二維碼添加內(nèi)容
    q.make() #生成二維碼
    #生成圖片
    img = q.make_image()
    # 保存圖片
    img.save(filename)

def show():
    tk = tkinter.Tk() # 創(chuàng)建一個(gè)窗體對(duì)象
    canvas = tkinter.Canvas(tk, width=400, height=400, bg='pink') #創(chuàng)建一個(gè)畫布
    img = tkinter.PhotoImage(file=filename) # 創(chuàng)建一個(gè)圖片對(duì)象
    canvas.create_image(200, 200, image=img) #將此圖片加載到畫布上
    canvas.pack() #顯示畫布
    tk.mainloop() # 使窗體一直運(yùn)行

if __name__ == '__main__':
    result = input('請(qǐng)輸入指定內(nèi)容:').strip()
    mk_qrcode(result)
    show()

5.運(yùn)行結(jié)果展示

使用微信掃描對(duì)應(yīng)的二維碼后的結(jié)果為:

總結(jié)?

原文鏈接:https://blog.csdn.net/qq_51447436/article/details/126734845

欄目分類
最近更新