pack() 在 grid() 编辑的框架内(和 v.v.?

问题描述 投票:0回答:1

我可能是世界上最后一个知道这一点的程序员,但以防万一......

我发现了数十个与此接近的论坛主题,但没有一个完全匹配。我为这个错误消息苦苦挣扎了几个小时:“_tkinter.TclError:无法在内部使用几何管理器包。它已经有由网格管理的从站”,其根源大致如下:

frm = tk.Frame(root).grid(row=r,column=c)
lbl = tk.Label(frm).pack()

在我的天真中,我认为应该可行,因为它看起来frm框架的布局应该独立于容纳frm的容器的布局。我的解决方案?首先构建嵌套框架,然后将其添加到更高级别的容器:

frm = tk.Frame(root)
lbl = tk.Label(frm, text="Hello").pack()
frm.grid(row=r,column=c)

这对我有用,我是一个快乐的露营者,但如果专家可以向我展示更好的解决方案,我会更快乐。

tkinter grid pack
1个回答
0
投票

看起来布局管理器在容器树中向下传播。我对此感到惊讶。

© www.soinside.com 2019 - 2024. All rights reserved.