#input #tkinter #barcode #take
#ввод #tkinter #штрих-код #возьмите
Вопрос:
Я хочу принимать пользовательский ввод через графический интерфейс tkinter. Когда пользователь подтвердит свой ввод нажатием кнопки, я хочу создать штрих-код из этого ввода.
Штрих-код будет сохранен в виде изображения, и он будет назван в честь пользовательского ввода, например, «456789.png».
У меня работает графический интерфейс, но у меня проблема с процессом создания штрих-кода.
Когда я подтверждаю свой ввод, я получаю сообщение об ошибке:
«Ошибка типа: объект StringVar не может быть повторен».
Вот мой код
from barcode import generate
from barcode.writer import ImageWriter
from tkinter import Tk, Entry, Label, Button
root = Tk()
root.geometry("640x640 0 0")
heading = Label(root, text="Barcode Creator", fg="steelblue", font=("arial", 16)).pack()
label1 = Label(root, text = "Enter Barcode: ", font=("arial", 16, "bold"), fg = "black").place(x=10, y = 200)
name = StringVar()
entry_box = Entry(root, textvariable = name, width=25, bg="lightgreen").place(x=280, y=210)
def create_code():
create = generate('code128', name, output = name, writer = ImageWriter())
create
work = Button(root, text = "Create Barcode", width = 30, height = 5,
bg = "lightblue", command = create_code).place(x=250, y=300)
root.mainloop()
Комментарии:
1. Я думаю, вам следует передать
name.get()
вместоname
вgenerate(...)
.
Ответ №1:
ошибка здесь
из tkinter импортируйте Tk, запись, метку, кнопку
это должно быть
из tkinter импортируйте Tk, запись, метку, кнопку, StringVar
обратите внимание при выборе импорта