繁体   English   中英

在带有 Python 的 Tk 中,我如何指定一个框架或 Canvas 以使用我的 window 调整大小?

[英]In Tk with Python, how do I specify a Frame or Canvas to resize with my window?

我对 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()

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

如何将框架固定到 window 的所有侧面,然后将 canvas 固定到框架的所有侧面? 我什至应该使用框架吗?

在对pack()的调用中设置expand = 1以使小部件在调整其容器大小时进行调整。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM