python - python函数在tkinter中迭代
问题描述
我想创建一个程序,当您单击一个按钮时,它会存储要在另一个函数中使用的变量。我认为错误在函数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
菜单并选择选项,用户可以进行计算,查看描述及其值
解决方案
推荐阅读
- methods - 如何将返回值从一种方法传递给另一种方法?
- javascript - 垂直滚动不适用于表格
- oracle - 如何在 oracle 中将 pls_number 转换为 varchar2?
- python - 在外部 Docker 镜像中构建 python 的 gevent
- contao - 404 页面生成问题新闻类别过滤 - Contao
- javascript - 有限 Redhat 上的节点 webkit (chromium)
- javascript - JS HTML5 拖放:自定义 Dock 效果在 Chrome 中跳跃
- python - 字典变量的逼近和修改
- mysql - 从 MySQL 获取日期
- android - 在 Cloud-Foundry 上部署本机安卓应用 (apk)