我想創建一個Tkinter圖形用戶界面的頂部有一個標籤的灰色框,然後在下面的一個下拉框和左邊的標籤描述它,然後在下面的另一個下拉框左邊有一個標籤。相反,我在適當的位置獲得標籤,但是然後兩個下拉框和標籤彼此重疊,即使它們處於不同的框架中。Tkinter圖形用戶界面不在適當的地方
from Tkinter import *
import ttk
class review_gui():
def __init__(self):
self.root = Tk()
self.EDM_GUI(1)
self.root.mainloop()
def EDM_GUI(self, column):
self.EDM_frm = Frame(self.root, background = "grey")
self.EDM_frm.pack(side = "top")
EDM_Label_frm = Frame(self.EDM_frm).pack(side = "top")
EDM_DD_frm = Frame(self.EDM_frm).pack(side = "bottom")
EDM_DB_frm = Frame(EDM_DD_frm).pack(side = "top")
EDM_Port_frm = Frame(EDM_DD_frm).pack(side = "bottom")
EDM_lbl = Label(EDM_Label_frm, text="EDM", fg="black").pack()
EDM_DD_label = Label(EDM_DB_frm, text="Select EDM:", fg="black")
EDM_DD_label.pack(side="left")
EDM_Drop_Down = ttk.Combobox(EDM_DB_frm, state="readonly")
EDM_Drop_Down["values"] = ("One", "Two", "Three")
EDM_Drop_Down.pack(side="right")
EDM_P_label = Label(EDM_Port_frm, text="Select Portfolio:", fg="black")
EDM_P_label.pack(side="left")
Port_Drop_Down = ttk.Combobox(EDM_Port_frm, state="readonly")
Port_Drop_Down["values"] = ("One", "Two", "Three")
Port_Drop_Down.pack(side="right")
rg = review_gui()
感謝常識,所以我正在收拾框架,我把他們的小部件之前,當你把小工具在他們,他們都擠滿了。一個問題,當我創建EDM_Label_frm和EDM_DD_frm時,它保留了打包順序,並將EDM_Label_frm放在EDM_DD_frm之前。但是當我創建兩個框架EDM_DB_frm和EDM_Port_frm時,它將它們合併在一起並且不保留打包順序? –
@Christopher Ell,我更新了我的答案,以表明你對保存的看法有多不對。 – CommonSense
重新_「我不完全知道包管理器是如何工作的 - _ - 規範描述在這裏:http://tcl.tk/man/tcl8。5/TkCmd/pack.htm#M26 –