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

时间:2020-05-22 01:18:04

标签: python tkinter

我有一个形状固定的窗口,并在GUI上放置了一些文本。这是我的代码:

root = Tk()
root.title('Vocab')
root.geometry('700x400')

text = Text(root)
text.insert(INSERT, word)
text.config(state='disabled')
text.pack()
root.mainloop()

默认情况下,此代码将左侧的文本标记为空白。如何将其保留在中间?

这是我的窗口供参考:

(知道我为什么要在侧面得到这两行吗?) enter image description here

2 个答案:

答案 0 :(得分:3)

要使插入的文本居中,请使用justify='center'配置标签:

text.tag_configure("center", justify='center')

然后,在插入时,还添加标签:

text.insert(INSERT, "jawbone", "center")

要让您的Text小部件填满两侧,请使用fill="both"

text.pack(fill="both",expand=True)

将它们放在一起:

import tkinter as tk

root = tk.Tk()
root.title('Vocab')
root.geometry('700x400')

text = tk.Text(root)
text.tag_configure("center", justify='center')
text.insert("1.0", "jawbone", "center")
text.config(state='disabled')
text.pack(fill="both", expand=True)
root.mainloop()

答案 1 :(得分:-2)

您可以获取窗口宽度并将文本居中于宽度

root = Tk()
width = root.winfo_screenwidth() 
root.title('Vocab'.center(width))

要编辑文本区域,您可以对文本对象使用padx选项,也可以通过设置总width并利用该值使文本围绕宽度居中,来使文本本身居中有关选项的更多信息,请参见以下链接

https://web.archive.org/web/20190507210123/http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/text.html

了解布局和网格系统以设置适当的填充以删除窗口填充线也很有用

https://web.archive.org/web/20190429195421/http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/layout-mgt.html