我想用python制作一個二維碼。輸出是帶有黑色二維碼的白色背景。我如何改變它們?
from tkinter import *
import os
import pyqrcode
window = Tk()
window.geometry("550x350")
window.configure(bg="#0434a0")
window.title("QR Code Maker")
photo = PhotoImage(file = "logo.png")
window.iconphoto(False, photo)
def generate():
if len(Subject.get())!=0 :
global qr,photo
qr = pyqrcode.create(Subject.get())
photo = BitmapImage(data = qr.xbm(scale=8))
else:
messagebox.showinfo("Voer een URL in...")
try:
showcode()
except:
pass
def showcode():
imageLabel.config(image = photo)
subLabel.config(text="QR van " Subject.get())
uj5u.com熱心網友回復:
該模塊的檔案可以在這里找到:PyQRCode 模塊檔案
它表示此模塊的各種方法(例如png,如果您想將 QR 碼作為 png 影像獲取)采用一個background引數,可以讓您定義背景顏色,以及module_color代碼本身的引數。
uj5u.com熱心網友回復:
pyqrcode模塊已超過 5 年未更新。改用qrcode模塊。請注意,qrcode模塊需要Pillow模塊。
...
from PIL import ImageTk
import qrcode
...
def generate():
try:
subject = Subject.get().strip()
if len(subject) != 0:
# adjust border and box_size to suit your case
qr = qrcode.QRCode(border=2, box_size=10)
qr.add_data(subject)
# change fill_color and back_color to whatever you want
img = qr.make_image(fill_color='blue', back_color='cyan')
photo = ImageTk.PhotoImage(img)
showcode(subject, photo)
else:
messagebox.showinfo("Voer een URL in...")
except Exception as ex:
print(ex)
def showcode(subject, photo):
imageLabel.config(image=photo)
imageLabel.image = photo # keep a reference of the image to avoid garbage collection
subLabel.config(text="QR van " subject)
...
請注意,我傳遞照片和主題showcode()而不是使用全域變數。
建議將代碼合并showcode()到generate().
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/441032.html
上一篇:動態獲取哪個按鈕使用功能
