Tkinter按钮文本对齐问题:设置justify=LEFT未生效如何解决
问题原因
justify参数仅用于控制Button内存在多行文本时,多行内容之间的相对对齐规则,不负责单行文本在Button整体区域内的对齐位置。
你当前的按钮仅包含单行文本,justify参数不会生效,同时你设置的padx=130会给按钮左右两侧都添加130px的内边距,自然会把文本挤到按钮中间显示。
解决方法
- 若仅需要单行文本在按钮内靠左对齐:将
justify=LEFT替换为anchor=W(W代表西方向,即左对齐,可选值还包括E/右对齐、C/居中、N/上对齐、S/下对齐及方位组合)。如果需要保留按钮宽度,可直接用width参数固定,无需用padx撑开,示例代码如下:
from tkinter import * root = Tk() Button(root, text="sldkjf", anchor=W, width=30).pack() root.mainloop()
- 若存在多行文本需要设置对齐规则:可同时搭配
justify控制多行文本的相对对齐方式,搭配anchor控制整块文本在按钮内的停靠位置,示例代码如下:
from tkinter import * root = Tk() Button(root, text="第一行文本\n第二行长度更长的文本", anchor=W, justify=LEFT, width=30).pack() root.mainloop()
内容的提问来源于stack exchange,提问作者Mark George
相关产品推荐
相关产品推荐

