是否可以在tkinter中轻松地将侧边堆叠的框架居中放置在框架中?

月刊

我面临着将侧面堆叠的框架居中放置在父框架中的问题。我知道如何将单个框架居中放置在一个框架中,但是我没有找到一种简单的方法来对其中的几个框架执行此操作。

我得到以下窗口

在此处输入图片说明

从下面的代码:

import Tkinter as tk

root = tk.Tk()
root.geometry("200x200")

# main frame
f = tk.Frame(root, background='black')
f.pack(expand=True, fill="both")

# two side-by-side frames inside, they fill up their space
f1 = tk.Frame(f, background='green')
f1.pack(side=tk.LEFT, expand=True, fill="both")
f2 = tk.Frame(f, background='red')
f2.pack(side=tk.LEFT, expand=True, fill="both")

# three fixed-size frames in the left frame above; I would like them to be centered in the frame
tk.Frame(f1, width=20, height=20,  background="orange").pack(side=tk.LEFT, fill=None, expand=False)
tk.Frame(f1, width=20, height=20, background="white").pack(side=tk.LEFT, fill=None, expand=False)
tk.Frame(f1, width=20, height=20, background="gray50").pack(side=tk.LEFT, fill=None, expand=False)

root.mainloop()

我希望将三个方形框架以绿色为中心。我必须使用tk.LEFT它们来定位它们,否则默认情况下它们将被堆叠起来。

在我完整的程序中,绿色框在那里专门包含三个正方形框。

将三个方形框架居中绿色的最标准方法是什么?

月刊

在思考furas的评论时,我意识到我不了解expand之间的真正区别fill(仍然有点含糊)。通过将f1.pack()行更改为:可以将三个框架居中:

f1.pack(side=tk.LEFT, expand=True, fill=None)

f1帧是紧绕三平方(fill=None)的人的击打试图采取如在所有方向上(多的空间可能expand=True),从而有效地为中心。请注意,绿色背景是不可见的,边框紧紧围绕其内容。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Tkinter:是否可以更改已放置框架的堆叠顺序?

来自分类Dev

可以在Spring框架中更轻松地路由url吗?

来自分类Dev

使用JavaFX 8,是否有一种更简单(更轻松)的方式将文本居中放置在“区域”中?

来自分类Dev

是否可以将表格居中放在降价文件中?

来自分类Dev

组装中的堆叠框架

来自分类Dev

如何在Tkinter中居中放置文本标签?

来自分类Dev

将div居中放置在大于100%的容器中

来自分类Dev

将文本水平和垂直居中放置在圆圈中

来自分类Dev

如何将表格居中放置在 div 中?

来自分类Dev

如何使用 CSS 将图像居中放置在 div 中?

来自分类Dev

将具有动态宽度的div居中放置在父级中,宽度可以大于父级

来自分类Dev

在div中垂直居中放置图像

来自分类Dev

在柔性容器中居中放置图像

来自分类Dev

在div中居中放置文本

来自分类Dev

在容器中居中放置文本(EaselJS)

来自分类Dev

在div中居中放置表单

来自分类Dev

在div中垂直居中放置文本

来自分类Dev

在HTML画布中居中放置形状

来自分类Dev

在div中垂直居中放置内容

来自分类Dev

在BorderPane中居中放置对象

来自分类Dev

在表格中居中放置按钮/文字

来自分类Dev

无法在UIstackview中居中放置元素?

来自分类Dev

在div中居中放置表单

来自分类Dev

在容器中居中放置文本(EaselJS)

来自分类Dev

jQuery:在div中居中放置图像

来自分类Dev

在div中垂直居中放置图像

来自分类Dev

在DIV中垂直居中放置文字

来自分类Dev

在div中垂直居中放置文本

来自分类Dev

在tkinter中创建框架