在使用Python的Tk中,如何指定一个框架或画布来调整窗口的大小?
我对Tk和包装概念是完全陌生的,所以请容忍我。这是我的密码:在使用Python的Tk中,如何指定一个框架或画布来调整窗口的大小?,python,tkinter,anchor,packing,Python,Tkinter,Anchor,Packing,我对Tk和包装概念是完全陌生的,所以请容忍我。这是我的密码: from Tkinter import * class frm_main: def __init__(self, parent): self.frame = Frame(parent, bg="green") #green for testing self.frame.pack(fill="both") self.canvas = Canvas(self.frame, bg
from Tkinter import *
class frm_main:
def __init__(self, parent):
self.frame = Frame(parent, bg="green") #green for testing
self.frame.pack(fill="both")
self.canvas = Canvas(self.frame, bg="black", width=1000, height=700)
self.canvas.pack(fill="both")
root = Tk()
main_frm = frm_main(root)
root.mainloop()
我尝试了几个不同的选项和测试,看起来框架和画布都在x方向固定和扩展,但在y方向调整大小会留下一堆空白
我如何让框架锚定到窗口的所有侧面,然后让画布锚定到框架的所有侧面?我甚至应该使用框架吗?在调用
pack()
时设置expand=1
,使小部件在调整容器大小时进行调整
self.frame.pack(fill = "both", expand = 1)
...
self.canvas.pack(fill = "both", expand = 1)
您可以使用框架对一组小部件进行分组或添加额外的边框,但在本例中不需要框架