在使用Python的Tk中,如何指定框架或画布以随窗口调整大小?

问题描述

| 我对Tk和Packing概念完全陌生,请多多包涵。这是我的代码
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方向上调整大小会留下一堆空白。 如何使框架固定到窗口的所有侧面,然后使画布固定到框架的所有侧面?我是否应该使用相框?     

解决方法

        在调用中将ѭ1设置为
pack()
,以在调整容器大小时调整小部件。
self.frame.pack(fill = \"both\",expand = 1)
...
self.canvas.pack(fill = \"both\",expand = 1)
您可以使用框架将一组小部件分组或添加额外的边框,但是在此示例中,不需要框架。