0
考慮到tkinter在python 3.5中使用Tk 8.6。爲什麼當我添加一個較小的部件時,我的個人化框架不會留下
注意:在下面的代碼中,s是指ttk.Style的一個實例。
我有我製作的款式。它工作正常。我將它尺寸設置爲562x750,因爲它是圖像尺寸。它沒有錯。這裏是代碼,如果需要的話:
s.mainframeImage = tk.PhotoImage(file = os.path.join(IMG_DIR, "base_img", "SWTORLogo.png"))
s.element_create("mainframe.background", "image", s.mainframeImage, sticky = "nswe", height = 562, width = 750)
s.layout("mainframe.TFrame", [("Frame.border", {"sticky": "nswe", "children": [("mainframe.background",
{"sticky": "nswe"})]})])
這是我製作的組合框樣式,如果需要的話。我只改變了背景(Combobox.field)。
s.topComboboxImage = tk.PhotoImage(file = os.path.join(IMG_DIR, "base_img", "combobox_top.png"))
s.element_create("topCombobox.field", "image", s.topComboboxImage, sticky = "nswe", height = 65, width = 750)
s.layout("topCombobox.TCombobox", [("topCombobox.field", {"children": [("Combobox.downarrow",
{"side": "right", "sticky": "ns"}), ("Combobox.padding", {"children": [("Combobox.textarea",
{"sticky": "nswe"})], "expand": "1", "sticky": "nswe"})], "sticky": "nswe"})])
所以...假設上面的代碼被實例化..我應該沒有問題,使他們出現在窗口中。只要我不使用框架作爲組合框的父項,就會顯示一切。 問題從我開始時開始。 這裏是我的代碼我使用:
myApp = tk.Tk()
getStyle(myApp)
myApp.me = ttk.Frame(myApp, style = "mainframe.TFrame", height = 562, width = 750)
myApp.me.grid(sticky = "nswe")
myApp.me.me2 = ttk.Combobox(myApp.me, style = "topCombobox.TCombobox")
myApp.me.me2.grid(column = 1, row = 1)
getStyle(myApp)
是我用來訂購我的主題創建功能。
所以問題是:爲什麼框架消失時,我把它作爲父母的組合框?組合框應該更小。
經過一番努力......任何小部件都會隱藏背後的「Frame」。我怎麼能這樣做,所以它不會發生? –