如何更新Tkinter标签中的类对象属性

2024-06-25 23:23:39 发布

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

我一直在尝试用python制作一个团队排名工具。我创建了一个团队类,它有不同的属性影响力量属性。我想用tkinter以图形化的方式列出从最高实力到最低实力的球队,即使我改变了一些球队的属性。我使用带有球队名称、排名和实力的标签作为文本。我希望当我改变球队的名字或实力时,这些标签会更新。当我向GUI添加团队属性时,它当前不会更新。由于我仍然是Tkinter和Python的初学者,我想知道我的代码有什么问题以及如何修复它。这是我的密码:

# Graphical configuration
root = Tk()
root.title('Robot scouting software\u00A9')
teamtype = 'Competition home'



if teamlisted == need:
    team = Teamsort()

#Competition homepage

g = StringVar()
#Rank Labels
ordinals = ['st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th']
for x in range(0, len(team)):
    g.set(team[x].name)
    Label(root, text = str(x+1)+ordinals[x%10]+' '*(4-len(str(x)))+g.get()+4*' '+str(team[x].strength)).grid(row = x%(len(team)//3+1), column = 2*(x//(len(team)//3+1)))

#black boxes to separate teams

for x in range(0, len(team)):
    Label(root, text = '    ', bg = 'Black').grid(row = x%(len(team)//3+1),
                                                  column = 2*(x//(len(team)//3+1))+1)



root.mainloop()

Tags: inforlen属性rangeroot标签团队