python tkinter 生二维码保存
python 自带库的使用
import tkinter as tk
from tkinter import messagebox
from tkinter import filedialog
import qrcode
from PIL import Image, ImageTk
class QRCodeApp:
def __init__(self, root):
self.root = root
self.root.title("QRCode Generator")
self.url_entry = tk.Entry(self.root, font=("Arial", 14), width=40)
self.url_entry.pack(pady=20)
self.generate_button = tk.Button(self.root, text="Generate QR Code", font=("Arial", 14), command=self.generate_qr)
self.generate_button.pack(pady=10)
self.save_button = tk.Button(self.root, text="Save QR Code", font=("Arial", 14), command=self.save_qr)
self.save_button.pack(pady=10)
self.qr_label = tk.Label(self.root)
self.qr_label.pack(pady=20)
def generate_qr(self):
url = self.url_entry.get()
if not url:
messagebox.showwarning("Input Error", "Please enter a URL to generate the QR code.")
return
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(url)
qr.make(fit=True)
img = qr.make_image(fill="black", back_color="white")
self.img_tk = ImageTk.PhotoImage(img)
self.qr_label.config(image=self.img_tk)
self.qr_label.image = self.img_tk
def save_qr(self):
url = self.url_entry.get()
if not url:
messagebox.showwarning("Input Error", "Please enter a URL to save the QR code.")
return
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(url)
qr.make(fit=True)
img = qr.make_image(fill="black", back_color="white")
file_path = filedialog.asksaveasfilename(defaultextension=".png",
filetypes=[("PNG files", "*.png"), ("All files", "*.*")],
title="Save QR Code")
if file_path:
img.save(file_path)
messagebox.showinfo("Success", f"QR Code saved as {file_path}!")
if __name__ == "__main__":
root = tk.Tk()
app = QRCodeApp(root)
root.mainloop()
本文来自博客园,作者:vx_guanchaoguo0,转载请注明原文链接:https://www.cnblogs.com/guanchaoguo/p/18964132