[英]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個小部件:
默認情況下, 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()
分別准確地定位它們:
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.