无法调用Python tkinter标签

2024-10-03 21:31:51 发布

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

我正在用Python制作一个简单的tkintergui,我需要放置大约10个或更多的标签。我使用grid方法放置标签,但是在一定数量之后,它会出现一个错误,说“TypeError:Label对象不可调用”。以下是标签和网格放置的代码:

UnitPointLabel = ttk.Label(root, text = unit_points)
UnitLabel = ttk.Label(root, text = unit)
HQ1 = ttk.Label(root, text = "HQ:")
HQ2 = ttk.Label(root, text = "HQ:")
Elite1 = ttk.Label(root, text = "Elite:")
Elite2 = ttk.Label(root, text = "Elite:")
Elite3 = ttk.Label(root, text = "Elite:")
Troop1 = ttk.Label(root, text = "Troop:")
Troop2 = ttk.Label(root, text = "Troop:")
Troop3 = ttk.Label(root, text = "Troop:")
Troop4 = ttk.Label(root, text = "Troop:")
Troop5 = ttk.Label(root, text = "Troop:")
Troop6 = ttk.Label(root, text = "Troop:")
Fast_Attack1 = ttk.Label(root, text = "Fast Attack:")
Fast_Attack2 = ttk.Label(root, text = "Fast Attack:")
Heavy_Support1 = ttk.Label(root, text = "Heavy Support:")
Heavy_Support2 = ttk.Label(root, text = "Heavy Support:")
Heavy_Support3 = ttk.Label(root, text = "Heavy Support:")



UnitPointLabel.grid(row = 3, column = 7)
HQ1.grid(row = 3, column = 5)
HQ2.grid(row = 4, column = 5)
Troop1.grid(row = 5, column = 5)
Troop2.grid(row = 6, column = 5)
Troop3.grid(row = 7, column = 5)
Troop4.grid(row = 8, column = 5)
Troop5.grid(row = 9, column = 5)
Troop6.grid(row = 10, column = 5)
Fast_Attack1.grid(row = 11, column = 5)
Fast_Attack2.grid(row = 12, column = 5)

Stops working here: Heavy_Support1(row = 3, column = 6)
Heavy_Support2(row = 2, column = 6)
Heavy_Support3(row = 3, column = 6)

如您所见,我尝试了移动行和列,但仍然不起作用。有人知道为什么会这样吗?在


Tags: textsupportunitcolumnroot标签labelgrid
1条回答
网友
1楼 · 发布于 2024-10-03 21:31:51

调试的第一条规则:假设错误消息是真实的。上面写着什么?它说“标签对象不可调用”。这意味着您有一些对象是Label对象的实例,并且您正在尝试调用它。例如,“foo=Label(…);…;foo()”。在

那么,看看你的代码,你想调用什么标签对象?看看这三条线:

^{1}$

回顾一下您的代码,我发现Heavy_Support1(et al.)都是Label的实例,您确实在尝试调用它。在

长话短说,你好像忘了在这几行上加.grid。它们应该是:

^{pr2}$

相关问题 更多 >