我試圖用Tkinter創建一個按鈕網格(以實現可點擊的單元格效果)。如何在tkinter中創建一個自調整大小的網格按鈕?
我的主要問題是,我不能讓grid
和按鈕自動調整大小和適合父窗口。
例如,當我在網格上有很多按鈕時,不是縮小按鈕以使網格適合窗口內部,而是獲得延伸的框架,從屏幕上退出。
我在尋找的效果是填充所有可用空間的網格,然後調整其單元格的大小以適應該空間。我已閱讀文檔,但我仍然無法弄清楚如何使其工作。
這是基本的代碼這是我的出發點:
def __init__(self):
root = Tk()
frame = Frame(root)
frame.grid()
#some widgets get added in the first 6 rows of the frame's grid
#initialize grid
grid = Frame(frame)
grid.grid(sticky=N+S+E+W, column=0, row=7, columnspan=2)
#example values
for x in range(60):
for y in range(30):
btn = Button(grid)
btn.grid(column=x, row=y)
root.mainloop()
謝謝!這很好。我不知道爲什麼我沒有找到網格類。我正在閱讀幾何管理器文檔,但只發現了.grid方法。 – Kiril
當您在我的系統上調整它的大小時,您的示例沒有展開這些按鈕。我使用Xubuntu 14.04,32位。我在Python 2.x和3.x上都試過了。 – Shule
非常有幫助的例子。 @Kiril - 你也可以從對象引用中調用columnconfigure,例如root.rowconfigure(0,weight = 1) – NargothBond