如何使用Python 3将标签置于Tkinter中心?

时间:2018-02-11 17:10:38

标签: python python-3.x tkinter label center

我开始使用tkinter创建一个简单的游戏并遇到问题。我在网上搜索但找不到答案。我的问题是我无法弄清楚如何在tkinter中居中标签。这是我的代码:

class incidencia(models.Model):
    _name = 'incidencias.incidencia'

    fecha_inicio = fields.Date(default=fields.Date.today, required=True)
    name = fields.Char(compute='_asignar_nombre', required=True)

    @api.depends('fecha_inicio')
    def _asignar_nombre(self):
        #¿?

如果您知道如何在tkinter中居中标签,请回答。谢谢!

2 个答案:

答案 0 :(得分:1)

Tkinter有两个显示小部件的选项

//Removing obj from oldArray private static JArray RemoveValue(JArray oldArray, dynamic obj) { List<string> temp2 = oldArray.ToObject<List<string>>(); temp2.Remove(obj); return JArray.FromObject(temp2); } grid()

使用pack()

在这种情况下,这可能是最好的选择 - 因为你只处理一个小部件:

默认情况下,pack()top会将小部件与中心对齐。左右分别对齐左右。

这里是代码的摘录,展示了这个属性:

bottom

您也可以在底部居中对齐文字:

nameLabel = Label(welcome, text="Welcome", bg="gray", fg="white") 
nameLabel.pack(side="top")

使用nameLabel = Label(welcome, text="Welcome", bg="gray", fg="white") nameLabel.pack(side="bottom")

有时可能需要对齐多个小部件。您可以使用grid()

单独准确地定位它们
grid()

更新:除了窗口评论中的居中标签之外,我不知道如何自己做这件事虽然我找到了this post that seems to do what you want

答案 1 :(得分:1)

如果将单个小部件放在另一个小部件的中心,place是最佳选择。它具有相对于另一个窗口小部件定位窗口小部件的选项(通常但不一定相对于其父窗口)。

在您的情况下,您希望标签的中心位于其父级的中心。您可以使用.5的相对X坐标,.5的相对Y坐标和&#34; center&#34;的anchor,这意味着窗口小部件的中心位于给定的坐标处。

示例:

nameLabel.place(relx=.5, rely=.5, anchor="center")