如何使用tkinter标签使此函数按顺序工作



所以我的代码中的函数有问题,它不会在控制台中显示失败,所以我不知道出了什么问题。基本上,我试图制作一个点击器,每次点击按钮时,它都会将exp变量增加一,然后更新标签,但它并没有真正起作用。水平部分也不需要太多关注,除非有什么你想说的。


window = Tk()
window.title ("test")

#variables
exp2 = 0
level = 1
exp = 0
#exp function
def function ():
global exp,exp2, level
exp2 = exp + 1
if exp <100:
exp = 0
level + 1
else:
return function()

#labels
label_1 = Label (window, text = (exp2,"/100"), bg = 'white', fg ='black')
label_2 = Label (window, text = "exp" , bg = 'white', fg ='black')
label_3 = Label (window, text = "level", bg = 'white', fg ='black')
label_4 = Label (window, text = level, bg = 'white', fg ='black')
#buttons
button_1 = Button (window, text = 'click for xp', command = function())
#placements
label_1.grid (column = 3, row = 2)
label_2.grid (column = 3, row = 1)
label_3.grid (column = 5 , row = 1)
label_4.grid (column = 5, row = 2)
button_1.grid (column = 4, row = 4 )
window.mainloop()
def Function():
global exp, level
exp += 1
if exp > 100:
exp=0
level+=1
label.config(text=exp)

应该对你有用,你实际上不需要exp2变量。label.config为您提供

#python3
from tkinter import *
window = Tk()
window.title ("test")
#variables
#exp2 = 0
exp = 0
level=0
#exp function
def function ():
global exp,exp2, level
label_1.configure(text="%d" %(exp)+"/10")
exp+=1
if exp==10:
level+=1
label_4.configure(text=level)
exp=0



#labels
label_1 = Label (window,text="%d" %(exp)+"/10", bg = 'white', fg ='black')
label_2 = Label (window, text = "exp", bg = 'white', fg ='black')
label_3 = Label (window, text = "level", bg = 'white', fg ='black')
label_4 = Label (window,  bg = 'white', fg ='black')
#buttons
button_1 = Button (window, text = 'click for xp', command = function)
#placements
label_1.grid (column = 3, row = 2)
label_2.grid (column = 3, row = 1)
label_3.grid (column = 5 , row = 1)
label_4.grid (column = 5, row = 2)
button_1.grid (column = 4, row = 4 )
window.mainloop()

尽管我不是很理解这个问题,但我希望它能回答你的问题。您可以通过删除(500,函数(后的标签_1.来停止连续计数。如果这回答了您的问题,请投票给

最新更新