функции Python, перебирающие в tkinter - PullRequest
0 голосов
/ 01 апреля 2019

Я хотел бы создать программу, в которой при нажатии кнопки в ней хранятся переменные, которые будут использоваться в другой функции.Я думаю, что ошибка в функции calcular, однажды, когда я нажимаю ее, он говорит, что одна или несколько переменных не определены введите описание изображения здесь


calculadora = Tk()
calculadora.title('THE MAZE - CALCULADORA DE DANOS')

Label(calculadora, text='ATRIBUTOS').grid(row=0,column=1)
Label(calculadora, text='AGILIDADE').grid(row=1,column=0)
Label(calculadora, text='CORPO A CORPO').grid(row=2,column=0)
Label(calculadora, text='DESTREZA').grid(row=3,column=0)
Label(calculadora, text='PRECISÃO').grid(row=4,column=0)
Label(calculadora, text='PARANORMALIDADE').grid(row=5,column=0)
Label(calculadora, text='SORTE').grid(row=6,column=0)
Label(calculadora, text='ESCALA').grid(row=0,column=2)
Label(calculadora, text='DESCRIÇÃO').grid(row=0,column=3)

agi = Entry(calculadora)
cac = Entry(calculadora)
des = Entry(calculadora)
pre = Entry(calculadora)
par = Entry(calculadora)
sor = Entry(calculadora)

agi.grid(row=1,column=1)
cac.grid(row=2,column=1)
des.grid(row=3,column=1)
pre.grid(row=4,column=1)
par.grid(row=5,column=1)
sor.grid(row=6,column=1)

show_agi = Label(calculadora, text='-')
show_cac = Label(calculadora, text='-')
show_des = Label(calculadora, text='-')
show_pre = Label(calculadora, text='-')
show_par = Label(calculadora, text='-')
show_sor = Label(calculadora, text='-')
show_descricao = Label (calculadora, text='-')

show_agi.grid(row=1,column=2)
show_cac.grid(row=2,column=2)
show_des.grid(row=3,column=2)
show_pre.grid(row=4,column=2)
show_par.grid(row=5,column=2)
show_sor.grid(row=6,column=2)
show_descricao.grid(row=1,column=3,columnspan=2,rowspan=2,sticky=W+E+N+S,padx=5,pady=5)

def baralho():
    base = 10
    agi_escala = 0
    cac_escala = 0
    des_escala = 1
    pre_escala = 1.5
    par_escala = 1.5
    sor_escala = 1.5
    descricao = ' Sem descrição '

    show_agi['text'] = agi_escala
    show_cac['text'] = cac_escala
    show_des['text'] = des_escala
    show_pre['text'] = pre_escala
    show_par['text'] = par_escala
    show_sor['text'] = sor_escala
    show_descricao['text'] = descricao

def calcular():
    get_agi = float(agi.get())
    get_cac = float(cac.get())
    get_des = float(des.get())
    get_pre = float(pre.get())
    get_par = float(par.get())
    get_sor = float(sor.get())
    dano = (base+((get_agi*agi_escala)+(get_cac*cac_escala)+(get_des*des_escala)+(get_pre*pre_escala)+(get_par*par_escala)+(get_sor*sor_escala)))
    val["text"] = dano

cal = Button(calculadora, text='CALCULAR', command=calcular)
cal.grid(row=7,column=0)
val = Label(calculadora, text='DANO')
val.grid(row=7,column=1)

armas = Menubutton(calculadora, text='ARMAS',  relief='raised')
armas.menu = Menu(armas)
armas["menu"] = armas.menu

armas.menu.add_command(label='Baralho de Tarô', command=baralho)
armas.menu.add_command(label='varinha')

armas.grid(row=0,column=0)

calculadora.mainloop()

Я надеюсь, чтощелкнув в меню armas и выбрав опцию, пользователь может выполнить расчет, увидев описание и его значения

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