AttributeError:类型对象“图像”没有属性“打开” - 我陷入困境,需要帮助

问题描述 投票:0回答:1

我正在网上学习如何生成二维码的教程。我已经开始创建前端,它是带有输入字段和文本标签的应用程序窗口。我现在进入后端,这是“生成”按钮的代码,该按钮允许用户使用输入的 URL 生成 QR 码,以使用 QR 码分配输入的 URL。

我之前曾尝试打开应用程序窗口主体区域中的二维码图像,但我的代码不断调用以下错误:

AttributeError: type object 'Image' has no attribute 'open'
。我目前希望它在我的应用程序窗口中打开图像,以便我可以扫描它以确保二维码将我重定向到我分配给它的网站,但它反而导致程序调用上述错误。

当前的 Python 代码:

import qrcode
from PIL import Image
from tkinter import *

root = Tk()
root.geometry('500x500')
root.title('QR Code Generator Application')
root.resizable(0,0)

Label(root, text='QR Code Generator Application', font='Helvetica 18 bold').place(x=65, y=20)
Label(root, text='Enter anything into the input field: ', font='Helvetica 12').place(x=20, y=90)
Entry(root, width=25).place(x=250, y=93)

def button():
    qr_code= qrcode.QRCode(version=2, box_size=10, border=4)

    img = qr_code.make_image(fill='Black', back_color='Red')
    img.save('QR_Code_1.png')
    Image.open('QR_Code_1.png')

Button(root, text='Generate', font='Helvetica 15 bold', bg='Green', command=button).place(x=183, y=140)
root.mainloop()

如果任何人都可以帮助初学者程序员,我很乐意考虑有关上述代码以及如何解决我当前遇到的问题的任何建议。

谢谢你:)

python tkinter qr-code
1个回答
0
投票

答案就在这里

from tkinter import *
。 似乎 tkinter 包有 Image 类,并且因为您要从中导入 everything - 您正在导入没有 open 方法的类。请小心您导入的内容,并尽量避免导入如下所示的所有内容:
from tkinter import Tk, Label, Entry, Button
。这应该可以解决你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.