簡體   English   中英

Tkinter:為什么子幀不出現在一幀中,而是出現在另一幀中?

[英]Tkinter: Why do child-frames not appear in one frame, but do in another?

我正在學習 tkinter。

我現在正在嘗試為應用程序創建骨架,並且正在努力學習 tk.Frame( )。 對於背景,我有一個 tk.Tk( ) 根和 3 個子 tk.Frame( ),每個子都有一些 tk.Frame( ) 子。

現在,在 master=root 中創建根框架和 3 個子框架的事情按預期進行。 此外,根的頂部子框架可以在其中很好地包含框架。 但是,我放入根的中間子框架的框架不顯示。 有誰知道為什么會發生這種情況? 另一個問題是,一旦我將子框架放入單獨的主框架中,我在一個框架中的 label 就會消失。

我下面的代碼應該有助於解釋。

從命令導入 *

# create root
root = tk.Tk()
appTitle = "Fotoshoop"
root.title(appTitle)

factor = 1.618
rootWidth = 800
rootHeight = int(rootWidth / factor)
geo = "{}x{}".format(str(rootWidth), str(rootHeight))
root.geometry(geo)
# root.grid()

# LAYER 1
l1padx = 10
l1pady = l1padx
l1w = 200
l1h = int(l1w / factor)
l1color = "gray"

Header = tk.Frame(root, bg=l1color, width=l1w, height=l1h)
Header.grid(row=0, column=0,
            ipadx=l1padx, ipady=l1pady, padx=l1padx, pady=l1pady)

Transformations = tk.Frame(root, bg=l1color, width=l1w, height=l1h)
Transformations.grid(row=1, column=0,
                     ipadx=l1padx, ipady=l1pady, padx=l1padx, pady=l1pady)

Content = tk.Frame(root, bg=l1color, width=l1w, height=l1h)
Content.grid(row=2, column=0,
             ipadx=l1padx, ipady=l1pady, padx=l1padx, pady=l1pady)


# LAYER 2
l2padx = 5
l2pady = l2padx
l2color = "blue"

msg_header = "Welcome!"
Label_Header = tk.Label(Header, bg=l2color, text=msg_header)
Label_Header.grid(row=0, column=0, ipadx=l2padx,
                  ipady=l2pady, padx=l2padx, pady=l2pady)

Label_Header = tk.Label(Header, bg=l2color, text="PLACEHOLDER FOR LINKS")
Label_Header.grid(row=0, column=1, ipadx=l2padx,
                  ipady=l2pady, padx=l2padx, pady=l2pady)

#PROBLEM the following code does not display
#        in addition, once added, Label_Header does not display
Transformations_left = tk.Frame(
    Transformations, bg=l2color)
Label_Header.grid(row=0, column=0, ipadx=l2padx,
                  ipady=l2pady, padx=l2padx, pady=l2pady
                  )

root.mainloop()

謝謝你!

您還沒有在Transformations_left上調用packplacegrid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM