проблема с флажком в python, флажок не дает мне значения - PullRequest
0 голосов
/ 01 августа 2020

Вчера я написал эту программу, недавно начал программировать с 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()

1 Ответ

1 голос
/ 01 августа 2020

button = tk.Button(frame9, text = "Pronto!", command = prezzototale()) неверно. В команде не должно быть скобок. Попробуйте button = tk.Button(frame9, text = "Pronto!", command = prezzototale)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...