Вчера я написал эту программу, недавно начал программировать с python. Я решил создать программу с gui, программу для заказа панини и использовать qrcode для чтения, каков порядок, я использовал tkinter и pyqrcode, как вы можете видеть в коде. Я думаю, что проблема в флажке, потому что он не дает мне никакого результата, поэтому код qr равен нулю, а код не работает. Я здесь для помощи в решении этой проблемы и некоторых предложений по улучшению программирования, спасибо
import tkinter as tk
window = tk.Tk()
window.geometry("500x500")
window.title("Ordina panino")
window.resizable(False,False)
window.configure(background='Yellow')
frame=tk.Frame(window) #frame panino 1
frame.pack(side = tk.TOP, pady= 20)
frame2=tk.Frame(window) #frame descrizione panino 1
frame2.pack(side = tk.TOP)
frame3=tk.Frame(window) #frame panino 2
frame3.pack(side = tk.TOP, pady= 20)
frame4=tk.Frame(window) #frame descrizione panino 2
frame4.pack(side = tk.TOP)
frame5=tk.Frame(window) #frame panino 3
frame5.pack(side = tk.TOP, pady= 20)
frame6=tk.Frame(window) #frame descrizione panino 3
frame6.pack(side = tk.TOP)
frame7=tk.Frame(window, pady= 20) #frame panino 4
frame7.pack(side = tk.TOP)
frame8=tk.Frame(window) #frame descrizione panino 4
frame8.pack(side = tk.TOP)
frame9=tk.Frame(window, pady=20) #frame Bottone
frame9.pack(side = tk.TOP)
#//////////////////////////////////////// PANINO1
CheckVar1 = tk.IntVar()
radiobutton1= tk.Checkbutton(frame, variable= CheckVar1, padx= 10, )
radiobutton1.pack( side = tk.LEFT )
panino1 = tk.Label(frame, text = 'panino1', padx=20)
panino1.pack( side = tk.LEFT)
numeropanini1 =tk.Spinbox(frame,from_=0, to=10)
numeropanini1.pack( side = tk.RIGHT )
testodescpanino1= "Ingredienti panino 1: ###############,##########,\n #############,##########"
descrizionepanino1 = tk.Label(frame2, text = testodescpanino1)
descrizionepanino1.pack( side = tk.TOP)
#//////////////////////////////////////// PANINO 2
CheckVar2 = tk.IntVar()
radiobutton2= tk.Checkbutton(frame3, variable = CheckVar2, padx=10)
radiobutton2.pack( side = tk.LEFT )
panino2 = tk.Label(frame3, text = 'panino2', padx= 20)
panino2.pack( side = tk.LEFT)
numeropanini2 =tk.Spinbox(frame3, from_=0, to=10)
numeropanini2.pack( side = tk.RIGHT )
testodescpanino2= "Ingredienti panino 2: ###############,##########,\n #############,##########"
descrizionepanino2 = tk.Label(frame4, text = testodescpanino2)
descrizionepanino2.pack( side = tk.TOP)
#//////////////////////////////////////// PANINO 3
CheckVar3 = tk.IntVar()
radiobutton3= tk.Checkbutton(frame5, variable= CheckVar3, padx=10)
radiobutton3.pack( side = tk.LEFT )
panino3 = tk.Label(frame5, text = 'panino3', padx=20)
panino3.pack( side = tk.LEFT )
numeropanini3 =tk.Spinbox(frame5, from_=0, to=10)
numeropanini3.pack( side = tk.RIGHT )
testodescpanino3= "Ingredienti panino 3: ###############,##########,\n #############,##########"
descrizionepanino3 = tk.Label(frame6, text = testodescpanino3)
descrizionepanino3.pack( side = tk.TOP)
#//////////////////////////////////////// PANINO 4
CheckVar4 = tk.IntVar()
radiobutton4= tk.Checkbutton(frame7, variable= CheckVar4, padx=20)
radiobutton4.pack( side = tk.LEFT )
panino4 = tk.Label(frame7, text = 'panino4', padx=10)
panino4.pack( side = tk.LEFT )
numeropanini4 =tk.Spinbox(frame7, from_=0, to=10)
numeropanini4.pack( side = tk.RIGHT )
testodescpanino4= "Ingredienti panino 4: ###############,##########,\n #############,##########"
descrizionepanino4 = tk.Label(frame8, text = testodescpanino4)
descrizionepanino4.pack( side = tk.TOP)
def prezzototale():
stringaqr = ""
i = ""
if CheckVar1.get() == 1:
i = numeropanini1.get()
stringaqr = str(i) + stringaqr + str(panino1.cget("text"))
if CheckVar2.get() == 1:
i = numeropanini2.get()
stringaqr = str(i) + stringaqr + str(panino2.cget("text"))
if CheckVar3.get() == 1:
i = numeropanini3.get()
stringaqr = str(i) + stringaqr + str(panino3.cget("text"))
if CheckVar4.get() == 1:
i = numeropanini4.get()
stringaqr = str(i) + stringaqr + str(panino4.cget("text"))
print(stringaqr)
QRstr = stringaqr
url = pyqrcode.create(QRstr)
url.png('qrordine.png', scale=8)
button = tk.Button(frame9, text = "Pronto!", command = prezzototale())
button.pack( side = tk.TOP )
window.mainloop()