ttk 笔记本不使用网格几何管理器扩展

ttk Notebook not expanding with grid geometry manager

我不知道如何在使用 tk 中的 .grid 方法调整 GUI 大小时正确扩展 ttk Notebook 小部件。在 .pack 中很简单,我尝试了一些粘性的配置方法,但他们没有看到任何有用的东西。

代码

import tkinter as tk                     
from tkinter import ttk 

root = tk.Tk() 
root.title("Tab Widget")
root.geometry("500x350") 
tabControl = ttk.Notebook(root) 
  
tab1 = ttk.Frame(tabControl) 
tab2 = ttk.Frame(tabControl)
 
tabControl.add(tab1, text ='Tab 1') 
tabControl.add(tab2, text ='Tab 2')

tabControl.pack(expand = 1, fill ="both")
#tabControl.grid(column=0, row=0, sticky= tk.E+tk.W+tk.N+tk.S)

root.mainloop() 

期望的结果

一个可以拉伸的图形用户界面,可以使用新的 window 大小调整选项卡控件和框架的大小。

默认情况下,网格会收缩。如果你有更多pack-like行为,你必须给单元格'weight.'这很容易做到:

import tkinter as tk                     
from tkinter import ttk 

root = tk.Tk() 
root.title("Tab Widget")
root.geometry("500x350") 
tabControl = ttk.Notebook(root) 
  
tab1 = ttk.Frame(tabControl) 
tab2 = ttk.Frame(tabControl)
 
tabControl.add(tab1, text ='Tab 1') 
tabControl.add(tab2, text ='Tab 2')

tk.Grid.rowconfigure(root, 0, weight=1)
tk.Grid.columnconfigure(root, 0, weight=1)
tabControl.grid(column=0, row=0, sticky=tk.E+tk.W+tk.N+tk.S)

root.mainloop() 

应该可以了。如果您有更多问题等,请告诉我们。