簡體   English   中英

如何使用Python 3在Tkinter中將標簽居中?

[英]How do I center a label in Tkinter using Python 3?

我開始使用tkinter創建一個簡單的游戲,遇到了一個問題。 我在互聯網上搜索,但找不到答案。 我的問題是我無法弄清楚如何在tkinter中將標簽居中。 這是我的代碼:

from tkinter import * #Imports TK Interface
import time #Imports Time Module
welcome = Tk() #Opens the Welcome window
welcome.title("Start Up") #Names the Wqelcome window 'StartUp'
welcome.config(bg = "gray") #Changes the Welcome windows background color to beige
nameLabel = Label(welcome, text="Welcome", bg="gray", fg="white")#Creates the welcome label

如果您知道如何在tkinter中將標簽居中,請回答。 謝謝!

Tkinter有兩個顯示小部件的選項

grid()pack()

使用pack()

在這種情況下,這可能是最好的選擇-因為您只處理1個小部件:

默認情況下, topbottom會將小部件與中心對齊。 左側和右側將分別對齊到左側和右側。

這是演示此屬性的代碼摘錄:

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()分別准確地定位它們:

nameLabel1 = Label(welcome, text="Welcome", bg="gray", fg="white")
nameLabel1.grid(column=0, row = 1)
nameLabel2 = Label(welcome, text="Welcome", bg="gray", fg="white") 
nameLable2.grid(column=1, row = 1)
nameLabel3 = Label(welcome, text="Welcome", bg="gray", fg="white")
nameLabel3.grid(column=2, row = 1)

更新:除了您在窗口注釋中居中的標簽之外,我自己也不知道該怎么做,盡管我發現此帖子似乎可以滿足您的要求

如果將單個窗口小部件放置在另一個窗口小部件的中心,則place是最佳選擇。 它具有用於相對於另一個小部件(通常,但不一定是相對於其父級)定位小部件的選項。

對於您的情況,您希望標簽的中心在其父級的中心。 您可以使用0.5的相對X坐標,0.5的相對Y坐標以及“中心” anchor ,這意味着小部件的中心位於給定的坐標處。

例:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM