我正在創建一個GUI,其中我有一個TextBox
和幾個Button
s。使用Tkinter的Python GUI - 小部件定位不正確
問題是,佈局似乎是混亂的。當我增加行數以便我能夠很好地分隔空間時,它沒有任何區別。我不確定我犯了什麼錯誤。
代碼:
from Tkinter import *
from tkFileDialog import *
gui = Tk() #create an object
gui.title("xyz")
gui.geometry("900x300")
GuiLabel1 = Label(gui,text="hi everyone!!!!!!")
GuiLabel1.grid(row=0, column=0)
GuiLabel2 = Label(gui,text="File")
GuiLabel2.grid(row=1, column=0)
bar=Entry(gui)
bar.grid(row=1, column=1)
button1= Button(gui, text="Browse")
button1.grid(row=1, column=2)
button2= Button(gui, text="Process")
button2.grid(row=2, column=2)
button3= Button(gui, text="ABC")
button3.grid(row=3, column=0)
button4= Button(gui, text="ABC")
button4.grid(row=3, column=1)
button5= Button(gui, text="ABC")
button5.grid(row=3, column=2)
button6= Button(gui, text="ABC")
button6.grid(row=3, column=3)
button7= Button(gui, text="ABC")
button7.grid(row=3, column=4)
gui.mainloop()
請參見下面的圖像的圖形用戶界面的截圖:
究竟做*「炒」 *是什麼意思?該輸出看起來很像我期望的。空行默認壓縮到零高度;如果你想填充,添加填充。 – jonrsharpe 2014-11-03 16:07:09
從某種意義上說,這些小工具並沒有按照有序的方式定位。就像第二個ABC並不完全在第一個旁邊。我需要在流程按鈕下方的空行。 ABC的間距不相等!!!!!!!!!! – blackfury 2014-11-03 16:35:29
然後,您需要向Tkinter提供更多關於如何佈置小部件的信息(行和列大小,填充,單元格中每個小部件應該定位的位置等)。默認情況下,每行和每列都被自動調整以適合最大的窗口部件,因此第一列的寬度與'Label'的寬度相同,第二列的寬度與最大的'Button'寬度相同(第二寬度爲「TextBox」一個具有最廣泛的「文本」),等等......這就是「網格」所做的 - 將小部件放入網格中。 *(另外,請注意,一個感嘆號通常(超過)足夠。)* – jonrsharpe 2014-11-03 16:37:25