Возьмите пользовательский ввод через tkinter, создайте штрих-код из этого ввода

#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

обратите внимание при выборе импорта