我試圖在螢屏的右下角和左下角放置 2 個按鈕,以便在調整視窗大小時它們會粘住,但是當我錨定它們并打包它們時,它們最終會變成這樣,我該如何解決這個問題?
if newbuttonthere == False:
new_button = tk.Button(fightWindow, text="New", fg="black", command=newcharacter, font=("Courier", 20, "bold"))
new_button.pack(anchor=W, side=tk.BOTTOM)
new_button.configure(bg="grey")
if newbuttonthere == False:
newM_button = tk.Button(fightWindow, text="New Monster", fg="black", command=newmonster, font=("Courier", 20, "bold"))
newM_button.pack(anchor=E, side=tk.BOTTOM)
newM_button.configure(bg="grey")
uj5u.com熱心網友回復:
@Joshua6014 .pack() 會將小部件堆疊在您指示它們的一側,或者默認情況下它將是 tk.TOP。換句話說,它會創建新列。因此,只要您打算使用同一個 master,就不可能用 .pack() 實作您喜歡的目標。使用另一個幾何管理器,我建議你在這種情況下使用 .grid() 。
使用不同的主人:
mstr_one = tk.Frame(root)
mstr_two = tk.Frame(root)
mstr_one.pack(side='left')
mstr_two.pack(side='right')
lab_one = tk.Label(mstr_one,text='right bottom')
lab_two = tk.Label(mstr_two,text='left bottom')
lab_one.pack(side='bottom',anchor='e')
lab_two.pack(side='bottom',anchor='w')
使用 grid 代替 pack:
lab_one = tk.Label(root,text='right bottom')
lab_two = tk.Label(root,text='left bottom')
lab_one.grid(column=0,row=0,sticky='e')
lab_two.grid(column=2,row=0,sticky='w')
root.grid_columnconfigure(1,weight=2)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/350120.html
