不需要使用网站生成QR码,只需使用Python和聊天GPT。

没有写一行代码,只是复制粘贴。

想知道我是如何做到的吗?

什么是提示?

让我们先看看应用程序和代码。

QR Code generator in Python using chat GPT

因此,为了完成这项任务,我们需要一个能够生成带有二维码的图像的软件包。

为此,我们将使用“pyqrcode”包。和一些其他包。

import tkinter as tk
from tkinter import filedialog, messagebox
from PIL import Image, ImageTk
import pyqrcode

生成二维码我们创建一个函数:

def generate_qr():
link = entry.get()
if not link:
messagebox.showerror("Input Error", "Please enter a valid URL")
return

首先,我们从用户那里获取链接,并检查它是否为有效的URL。ChatGPT在这里使用了一种非常基本的技术,您可以使用自己的方法使其更加可靠。

现在使用“pyqrcode”包将二维码生成为图片。我们将把它保存在临时路径上。

qr_code = pyqrcode.create(link)

# Save the QR code to a temporary location
temp_path = "temp_qr.png"
qr_code.png(temp_path, scale=8)

一旦我们生成了QR码,我们需要向用户展示它。还要让用户有保存QR码的能力。

为了实现以上任务,我们将使用“Tkinter”创建一个应用程序。

# Create the main window
root = tk.Tk()
root.title("QR Code Generator")

# Entry field for the URL
entry_label = tk.Label(root, text="Enter URL:")
entry_label.pack()
entry = tk.Entry(root, width=50)
entry.pack()

# Button to generate QR code
generate_button = tk.Button(root, text="Generate QR Code")
generate_button.pack()

# Label to display the QR code image
qr_label = tk.Label(root)
qr_label.pack()

# Button to save the QR code (initially disabled)
save_button = tk.Button(root, text="Save QR Code", state=tk.DISABLED)
save_button.pack()

# Run the application
root.mainloop()

如果您想了解更多关于“Tkinter”包的信息,请在下方评论。

现在我们有了我们的应用程序,让我们展示QR码。

为此,我们将使用QR图像填充标签“qr_label”。

我们还需要更新函数“generate_qr”,并将其分配给“generate_button”按钮。

    # Display the QR code in the app
img = Image.open(temp_path)
img = ImageTk.PhotoImage(img)
qr_label.config(image=img)
qr_label.image = img

我们将上述代码添加到“generate_qr”函数中。

将该功能链接到应用程序中的生成按钮。

# Button to generate QR code
generate_button = tk.Button(root, text="Generate QR Code", command=generate_qr)

我们已经准备好二维码了。我们希望用户能够将其保存为png文件。

为此,我们创建另一个函数:

def save_qr():
save_path = filedialog.asksaveasfilename(defaultextension=".png", filetypes=[("PNG files", "*.png")])
if save_path:
qr_code = pyqrcode.create(entry.get())
qr_code.png(save_path, scale=8)
messagebox.showinfo("Success", f"QR code saved to {save_path}")

链接该功能到保存按钮。

# Button to save the QR code (initially disabled)
save_button = tk.Button(root, text="Save QR Code", state=tk.DISABLED, command=save_qr)

保存按钮应在生成二维码后启用。我们更新“generate_qr”。

# Enable the save button after generating QR
save_button.config(state=tk.NORMAL)

Viola我们的应用程序已准备就绪,这是它的外观。

QR Code Generator.
QR code generator with QR code.

这是完整的代码。

import tkinter as tk
from tkinter import filedialog, messagebox
from PIL import Image, ImageTk
import pyqrcode

# Function to generate QR code and display it
def generate_qr():
link = entry.get()
if not link:
messagebox.showerror("Input Error", "Please enter a valid URL")
return

qr_code = pyqrcode.create(link)

# Save the QR code to a temporary location
temp_path = "temp_qr.png"
qr_code.png(temp_path, scale=8)

# Display the QR code in the app
img = Image.open(temp_path)
img = ImageTk.PhotoImage(img)
qr_label.config(image=img)
qr_label.image = img

# Enable the save button after generating QR
save_button.config(state=tk.NORMAL)

# Function to save the QR code at a user-selected location
def save_qr():
save_path = filedialog.asksaveasfilename(defaultextension=".png", filetypes=[("PNG files", "*.png")])
if save_path:
qr_code = pyqrcode.create(entry.get())
qr_code.png(save_path, scale=8)
messagebox.showinfo("Success", f"QR code saved to {save_path}")

# Create the main window
root = tk.Tk()
root.title("QR Code Generator")

# Entry field for the URL
entry_label = tk.Label(root, text="Enter URL:")
entry_label.pack()
entry = tk.Entry(root, width=50)
entry.pack()

# Button to generate QR code
generate_button = tk.Button(root, text="Generate QR Code", command=generate_qr)
generate_button.pack()

# Label to display the QR code image
qr_label = tk.Label(root)
qr_label.pack()

# Button to save the QR code (initially disabled)
save_button = tk.Button(root, text="Save QR Code", state=tk.DISABLED, command=save_qr)
save_button.pack()

# Run the application
root.mainloop()

但是等等...

Photo by Michał Parzuchowski on Unsplash

我没有写这段代码。

我只是写了一个提示给了ChatGPT,剩下的就交给它了。

如此简单

而且不用担心,这是提示:

I have written a code to generate qrcodes for any link 
here is the code in python
import pyqrcode
import png
from pyqrcode import QRCode

url = 'www.youtube.com'
url = pyqrcode.create(url)

url.svg('qr.svg',)
url.png(r'D:\Copy writing\Medium\qr.png', scale = 8) #Scale to magnify

I want to turn this into a desktop application
where the user can enter the link to be converted into a qrcode.
The qrcode is displayed within the app to the user and is saved
at a path or the user can choose the path to save the qrcode

不需要购买订阅,使用API或任何其他东西。

只需使用人工智能的简单方式来编写代码。

如果您喜欢这种编写代码的方式,请“鼓掌”和“评论”。

2024-11-14 04:20:19 AI中文站翻译自原文