3 回答
TA贡献1844条经验 获得超8个赞
我相信您所要做的就是删除pack()orgrid(..)方法。不建议混合使用pack()和grid(),因为它可能会消除另一个的影响并导致此类错误。
与pack(). grid(...)_ pack()_
小例子:
hourly_clicker = ttk.Button(root, text = "By hour", command=hourly)
hourly_clicker.grid(row=0, column=3)
minute_clicker = ttk.Button(root, text = "By minute", command=minute)
minute_clicker.grid(row=0, column=4)
希望它能解决您的疑问,如果还有错误,请告诉我
TA贡献1816条经验 获得超4个赞
一次只有一个几何管理器可以管理一个小部件。正如问题标题所说,当您在.pack()
调用后调用时.grid(...)
, 的效果grid(...)
将被忽略。对于任何给定的小部件,您只能使用一个,并且需要与具有相同父级的所有小部件保持一致。
TA贡献1966条经验 获得超4个赞
pack
、grid
和place
是可用于放置小部件的 3 种方法。tkinter
将它们称为“几何管理器”。其中每一个都提供了一种独特的方式来定位和缩放小部件。
pack
将您的小部件停靠到定义的或可用的边缘grid
行为就像一张桌子place
允许您定义任意位置(和大小)
单个小部件不能附加多个几何管理器,并且父部件不能包含在pack
和之间交替的小部件grid
。这意味着(例如),如果您有很多Frame
使用 的小部件pack
,则这些小部件都不能使用grid
,反之亦然。place
不受此限制,可以在任何地方使用。
添加回答
举报