主窗口中的中心框架 - Tkinter

问题描述

如何在 python Tkinter 中实现类似 this 的结果? 我想要一个窗口,其主框架的宽度占窗口宽度的 50%,如果需要,还需要两个宽度各为 25% 的侧框架。

以下是简化代码

from tkinter import *

root = Tk()
root.geometry("100x100")

f1 = Frame(root,bg="white",width=root.winfo_width()//4)
f1.pack()
main = Frame(root,bg="black",width=root.winfo_width()//2)
main.pack()
f2 = Frame(root,width=root.winfo_width()//4)
f2.pack()

为什么帧不显示?请帮忙!

加分项如果你能去掉两个侧框

解决方法

可以通过使用.place()来实现:

from tkinter import *

root = Tk()
root.geometry("100x100")

main = Frame(root,bg="black")
main.place(relx=0.5,rely=0.5,relwidth=0.5,relheight=1,anchor="c")

root.mainloop()