如何在python3上使用Tkinter更新GUI?

2024-10-05 02:02:04 发布

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

我正在开发一个文本游戏,在这个游戏中,我使用Tkinter for GUI来显示玩家的数据。如果有人能帮助我的方法,更新图形用户界面每几秒钟显示最新的统计数据,它将不胜感激。我现在发布代码:

def Stats(): # The function for the GUI, used later in threading
global name
global strength
global intel
global hp
global weapon
global weaponBonus
global armour
global defence
stats = tkinter.Tk()
stats.title ("Stats")
nameLabel = tkinter.Label(stats, text=" Name = %s " % name, font=("Papyrus", 16), bg="#c29970")
hpLabel = tkinter.Label(stats, text=" HP = %s " % hp, font=("Papyrus", 16), bg="#ba8c5f")
strengthLabel = tkinter.Label(stats, text=" Strength = %s " % strength, font=("Papyrus", 16), bg="#b27f4d")
intelLabel = tkinter.Label(stats, text=" Intelligence = %s " % intel, font=("Papyrus", 16), bg="#a07245")
weaponLabel = tkinter.Label(stats, text=" Weapon = %s (Strength Bonus = %s) " % (weapon, weaponBonus), font=("Papyrus", 16), bg="#8f663d")
armourLabel = tkinter.Label(stats, text=" Armour = %s (Defence = %s) " % (armour, defence), font=("Papyrus", 16), bg="#7d5935")
nameLabel.pack(side=tkinter.LEFT)
hpLabel.pack(side=tkinter.LEFT)
strengthLabel.pack(side=tkinter.LEFT)
intelLabel.pack(side=tkinter.LEFT)
weaponLabel.pack(side=tkinter.LEFT)
armourLabel.pack(side=tkinter.LEFT)
stats.mainloop()

StatsRun = threading.Thread(target = Stats) # The threading program
StatsRun.start()

Tags: text游戏fortkinterstatsleftglobalside

热门问题