编程语言
首页 > 编程语言> > 在使用Python的Tk中,如何指定框架或画布以使用我的窗口调整大小?

在使用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)

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

标签:packing,python,tkinter,anchor
来源: https://codeday.me/bug/20190903/1796967.html