python函数在tkin中的应用

2024-04-29 14:44:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个程序,当你点击一个按钮,它存储的变量将在另一个函数中使用。我认为错误在函数calcular中,当我按下它时,它表示一个或多个变量没有定义 enter image description here


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菜单并选择选项,用户可以进行计算,查看描述及其值


Tags: textgetshowcolumnprelabelcalculadoragrid