首页 > 解决方案 > 使用 Notebook 在 Tkinter Python 中创建选项卡导致框架缩小

问题描述

我在这里有一个简单的项目,我在这个项目上创建了一些选项卡,但是这些选项卡使整个主框架缩小了,我想按我的意愿变大。请帮我。我希望这些标签就像角落和整个主框架上的镀铬标签一样。

当前视图是这样的在此处输入图像描述但我想要的是适合主框架的原始大小而不缩小它在此处输入图像描述

import tkinter
from tkinter import *
from tkinter import ttk

mainwindow = Tk()
mainwindow.title('Student Database')
mainwindow.config(bg='#4d4d4d')


#centering the main window on screen
def centrewindow(w, h):
    ws = mainwindow.winfo_screenwidth()
    hs = mainwindow.winfo_screenheight()
    x = (ws/2) - (w/2)
    y = (hs/2) -(h/2)
    mainwindow.geometry('%dx%d+%d+%d' % (w, h, x, y))
centrewindow(550, 400)

mainframe = Frame(width= 1000, height= 600, bg= '#d9d9d9', bd= 0.3, relief= SOLID)
mainframe.pack(pady=100, padx= 100)

tabcontrol = ttk.Notebook(mainframe)


tab1 = ttk.Frame(tabcontrol)
tabcontrol.add(tab1, text='Tab no. 1')
l1 = Label(tab1, text='Hello Its Tab 1')
l1.pack()

tab2 = ttk.Frame(tabcontrol)
tabcontrol.add(tab2, text='Tab no. 2')
l2 = Label(tab2, text='Hello Its Tab 2')
l2.pack()

tabcontrol.pack(expand=1, fill='both')
mainwindow.mainloop()

标签: pythonpython-3.xuser-interfacetkintertabs

解决方案


您需要为链中的每个帧执行填充和扩展命令。你错过了这个:

mainframe.pack(fill='both', expand=True)

请注意,当框架中放置某些东西时,框架的宽度和高度设置将被忽略。


推荐阅读