簡體   English   中英

如何堆疊按鈕,而不是在Tkinter中將它們排隊?

[英]How can I stack buttons rather than queue them in Tkinter?

目前,我正在顯示3個基本按鈕:

from tkinter import *

root = Tk()

topFrame = Frame(root)
topFrame.pack(side=TOP)
leftFrame = Frame(root)
leftFrame.pack(side=LEFT)
botFrame = Frame(root)
botFrame.pack(side=BOTTOM)

button1 = Button(leftFrame, text="Button 1", fg="Black")
button2 = Button(leftFrame, text="Button 2", fg="Black")
button3 = Button(leftFrame, text="Button 3", fg="Black")

button1.pack(side=LEFT)
button2.pack(side=LEFT)
button3.pack(side=LEFT)

root.mainloop()

此刻的3個按鈕將停留在窗口的左框架上,但是隨后將排成一行,而不是一個接一個地堆疊,我該如何解決?

探索grid功能。 將您的pack聲明更改為

button1.grid(row=0,column=0)
button2.grid(row=1,column=0)
button3.grid(row=2,column=0)

您明確地告訴他們與side=LEFT 您需要side=TOP以便將它們放置在框架中空白區域的頂部。

button1.pack(side=TOP)
button2.pack(side=TOP)
button3.pack(side=TOP)

使用pack時,值TOP,LEFT,RIGHT和BOTTOM會告訴小部件它們應占據剩余空間的哪一側。 第一次使用LEFT時,它將為小部件保留整個框架的左側。 下次使用LEFT時,是指小部件中的剩余空間(左邊緣除外) ,因為該空間中已經有小部件。 最終效果是,LEFT導致小部件從左到右排列,RIGHT使它們從右到左排列,依此類推。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM