如何在TkInter中创建平铺布局/流布局?

dev*_*snd 5 python tk-toolkit tkinter flowlayout

我想用标签填充我的窗口,并且我希望它们在列大于当前窗口(或者更确切地说是父帧)大小时换行.

我试过用过 grid布局,但是我必须自己计算每行内容的大小,知道何时将下一个元素放在下一行.

我问的原因是因为我想创建某种平铺文件图标.

或者换句话说,是否有类似Swing的FlowLayoutTkInter?

Bry*_*ley 7

当我想要这样的东西时我做的是使用容器的文本小部件.文本小部件可以包含嵌入式小部件,它们就像文本一样包装.只要您的小部件都具有相同的高度,效果就会非常好.

例如(根据作者的要求剪切和粘贴问题):

textwidget = tk.Text(master)
textwidget.pack(side=tk.LEFT, fill=tk.BOTH)
for f in os.listdir('/tmp'):
    textwidget.window_create(tk.INSERT, window=tk.Label(textwidget, text=f))
Run Code Online (Sandbox Code Playgroud)