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
允許您定義任意位置(和大?。?/p>
單個小部件不能附加多個幾何管理器,并且父部件不能包含在pack
和之間交替的小部件grid
。這意味著(例如),如果您有很多Frame
使用 的小部件pack
,則這些小部件都不能使用grid
,反之亦然。place
不受此限制,可以在任何地方使用。
添加回答
舉報