簡體   English   中英

單個標簽ttk中有多個框架。

[英]Multiple frames in a single tab ttk.Notebook

我有以下代碼部分(不完整),我想在ttk“筆記本”的單個選項卡中包含幾個框架。

win1 = Tk()    
n = ttk.Notebook(win1)

choice_frame = ttk.Frame(n, style="Black.TLabel")
choice_frame.grid(row=2, column=1, sticky="N,S,E,W", padx=1, pady=1)
choice_frame.grid_columnconfigure(0, weight=3)
choice_frame.grid_rowconfigure(0, weight=1)

frame_text = ttk.Frame(n, style="Black.TLabel")
frame_text.grid(row=0, column=0, sticky = "N")
frame_text.grid_columnconfigure(0, weight=3)
frame_text.grid_rowconfigure(0, weight=1)

frame_table = ttk.Frame(n, style="Black.TLabel")
frame_table.grid(row=2, column=0, padx=1, pady=1, sticky= " N, S, E, W ")
frame_table.grid_columnconfigure(0, weight=3)
frame_table.grid_rowconfigure(0, weight=1)

n.add(frame_table, text="One") # Would like same tab not two separate ones
n.add(choice_frame, text="One")
n.grid(sticky="N")

我還想知道是否有一種方法可以在拖動窗口並最大化窗口時自動調整每個尺寸。 我以前嘗試過:

frame_table.grid_propagate(0)

但這似乎並不能使高度和寬度尺寸保持不變。 我希望“表格”位於窗口的中央,但可以根據窗口的大小進行調整。

謝謝您的幫助!

grid_propagate您的任何問題。

每個選項卡只能包含一個框架,但是該框架可以包含任何所需的內容。 因此,為選項卡創建一個容器框架,然后將所有其他框架放入容器框架。 這是Frame類存在的主要原因之一-構建便於布局的小部件容器。

至於調整大小,問題可能是您沒有在主窗口的行和列中添加權重。 盡管這也可能與您使用grid將框架放置在筆記本中有關。 您不能使用grid將項目放置在筆記本中。

暫無
暫無

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

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