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

我对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="black", width=1000, height=700)
        self.canvas.pack(fill="both")

root = Tk()
main_frm = frm_main(root)
root.mainloop()

我已经尝试了几种不同的选项和测试,看起来框架和画布都是在x方向上锚定和扩展,但是在y方向上调整大小会留下一堆空白空间.

如何让Frame锚定到窗口的所有边,然后将画布锚定到我框架的所有边?我应该使用Frame吗?

解决方法:

在调用pack()时设置expand = 1,以便在调整容器大小时调整窗口小部件.

self.frame.pack(fill = "both", expand = 1)
...
self.canvas.pack(fill = "both", expand = 1)

您可以使用框架对一组窗口小部件进行分组或添加额外的边框,但在此示例中不需要框架.

上一篇:javascript-在浏览器中打开文件而不是下载


下一篇:javascript – 抵消html锚点以调整固定标题