Tkinter grid() 管理器
我在使用 Tkinter grid() 管理器时遇到了一些麻烦。行间距太远。我有两个条目小部件要放置,并且我需要一个几乎位于另一个的正下方。当我将它们放在同一行和同一列上,但更改 pady 选项时,它会将它们直接放在彼此的顶部。我知道必须有办法解决这个问题,以前从未遇到过这个问题。
我在 Windows XP 上使用 Python 2.6。
I am having a bit of trouble with the Tkinter grid() manager. It is spacing the rows too far apart. I have two entry widgets to place, and I need one almost directly under the other. When I place them both on the same row and column, but change the pady option, it places them directly on top of each other. I know there has to be a way to fix this, never had this problem before.
I am using Python 2.6 on Windows XP.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要将它们放在同一行和同一列;将上部放在一行中,将下部放在 row+1 中,两者都在同一列中。这就是窍门。
请注意,网格管理器不需要让所有行和列都填充小部件;它忽略空行和空列。
Don't place them in the same row and column; place the upper in a row, and the lower in row+1, both in the same column. That does the trick.
Note that the grid manager does not need to have all rows and columns filled with widgets; it ignores empty rows and columns.
这是仅有的 2 个小部件吗?或者是否有另一个小部件,在另一列中,其高度超过一行?如果是这样,它应该添加“rowspan”属性。
如果情况并非如此,我建议仅针对此单元格(应用于“row3span 2”),添加一个 Tkinter.Frame 小部件,并在此框架内,只需使用“pack”管理器添加所需的小部件。
所以,而不是:
你这样做:
Are these the only 2 widgets? Or is there another widget,in another column, that ismore than one row in height? If so, it should add to it the "rowspan" attribute.
If that is not the case, I suggesttaht for this cell alone (aply to it "row3span 2), you add a Tkinter.Frame widget, and within this Frame, you simply add your desired widgets with the "pack" manager.
So, instead of:
you do: