该问题可能与使用ttk.
Notebook
的布局有关。为了解决这个问题,我们可以使用组合框架(Frame)来包含ttk.
Notebook
,并使用布局管理器Grid来设置它们的大小和位置。下面是示例代码:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
main_frame = tk.Frame(root)
main_frame.pack(fill="both", expand=True)
notebook_frame = tk.Frame(main_frame)
notebook_frame.grid(row=0, column=0)
notebook = ttk.Notebook(notebook_frame)
tab1 = ttk.Frame(notebook)
tab2 = ttk.Frame(notebook)
notebook.add(tab1, text='Tab 1')
notebook.add(tab2, text='Tab 2')
notebook.pack(fill="both", expand=True)
root.mainloop()
在这个例子中,我们创建了一个主框架(main_frame),然后在它的上面放置了一个组合框架(notebook_frame),给它设置了Grid布局管理器。我们随后创建了一个ttk.Notebook,将tab1和tab2添加到其中,并将ttk.Notebook放入notebook_frame中。
最后,在主框架中使用'fill”和'expand”选项,使它占据整个窗口。Notebook也将占据整个notebook_frame坐标。 这使用了一个嵌套的工作区,所以在将项目添加到Tkinter窗口的时候,我们需要确保布局是内部的而不是外部的。