【问题标题】:Python3 Tkinter: Grids Within Grids? Frames Alongside Other Frames?Python3 Tkinter:网格内的网格?框架与其他框架?
【发布时间】:2014-12-16 00:33:59
【问题描述】:

所以 Tkinter 有网格系统和框架等。我已经做了一个基本的布局,像这样:

我通过为其父框架使用填充为其添加了一个巨大的空间,但现在我想填充它。 Tkinter 是否支持网格内的网格和框架内的框架?例如,我尝试过:

layout = ttk.Frame(anchor, padding="250 5 250 500") #Appears to initialize its layout
layout.grid(column=0, row=0) #Appears to set up a grid system
layout.columnconfigure(0, weight=1)
layout.rowconfigure(0, weight=1)
contentspace = ttk.Frame(layout, padding="10 5 10 10")
contentspace.grid(column=0, row=0)

其中 layout 是一个框架,而 contentspace 是按钮下方的框架,用于显示动态生成的内容,这些内容由具有自己独立列和行的网格项目组成(基本上就像小的独立 HTML/CSS 表格) .但是,无论我做什么,无论是添加按钮还是标签,都不会改变或显示。我不会得到任何错误,程序会运行,但什么也不会发生。

每次我在谷歌上搜索这类东西时,我都会得到很多关于 Tkinter 的不相关帖子,所以我想我可能会在这里做一些具体的事情。我是手动编写的,因为 IDE 会让这台计算机崩溃并死掉。

(对于那些想知道的人,这是一个为我选择随机视频游戏的程序,考虑到必备游戏和已经玩过的游戏。)

【问题讨论】:

    标签: layout python-3.x tkinter


    【解决方案1】:

    是的,tkinter 支持“网格中的网格”,尽管这有点用词不当。 Tkinter 支持小部件内部的小部件。 grid 只是一个方法的名称,它不是一个“东西”。

    如果您创建一个框架,但不给它一个大小或任何子级,它的大小将默认为一个像素。除非您使用sticky 选项,否则它将几乎或完全不可见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      相关资源
      最近更新 更多