[英]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.