2013-06-24 44 views
0

Ubuntu上的Python 3.3。tkinter .grid始終左上對齊

我似乎無法得到tkinter的.grid函數正常工作。我有以下代碼;

import sys 
from tkinter import * 

mwin = Tk() 
mwin.title("Window") 
mwin.geometry("450x450+500+100") 

header = Label(text="The Label").grid(row=5,column=2) 

mwin.mainloop() 

它似乎沒有什麼事,我把在.grid(行= X,列= Y),標籤仍然頂部左對齊。我錯過了什麼?

回答

1

網格幾何管理器是相對的。你把你的小部件放在虛擬網格上,通過rowcol告訴對齊和排序。共享同一行的小部件將垂直對齊,而行號高於另一行的小部件將位於下方。因此,只有在虛擬網格中插入其他小部件時,纔會注意到差異。

此外,當您編寫header = Label(...).grid(...)時,您在header中存儲了網格的結果(始終爲無)。優先使用

header = Label(...) 
header.grid(...) 
+0

非常感謝,只是給它一個快速測試,它的工作完美。沒有最微不足道的想法。 – Jay

1

默認情況下,行的高度爲零,列的寬度爲零。當您只在第5行第2列放置某些東西時,第0-4行實際上不可見,第0和第1列也是如此。僅當您將小部件放入單元格中時,或者當您使用rowconfigure和/或columnconfigure時,列獲得非零大小。