这是我的代码。我尝试在我的应用程序中制作两个选项卡。笔记本有另一个框架作为其父框架。我在笔记本中使用了pack((,在帧中使用了place((
notebook = ttk.Notebook(sales_frame)
notebook.pack()
tab1 = Frame(notebook)
notebook.add(tab1,text='tab')
tab2 = Frame(notebook)
notebook.add(tab2,text='tab2')
frame1 = Frame(tab1,bg='red')
frame1.place(x=400, y=200,height=300,width=100)
您还没有告诉笔记本展开以填充其容器,所以它将保持足够大以容纳其内容。你还没有给内容一个大小,所以选项卡中的帧默认为1x1像素宽/高。
当您将frame1
添加到tab1
时,您将其设置为400200。但是,tab1
只是x
,所以它不可见。由于使用place
,frame1
的大小不会影响其容器的大小,因此tab1
的大小保持为1x1。
使用pack
或grid
几乎总是更好的,除非在非常特殊的情况下。
不可能确切地知道该给你什么建议,因为这取决于橱窗里还有什么。然而,用pack
或grid
替换place
将是一个良好的开端。在将笔记本打包到其父级时,您可能还需要fill="both", expand=True
。