如何在Tkinter LabelFrame组件内部实现文本居中显示
LabelFrame内部文本居中实现方案
LabelFrame 原生的 labelanchor 参数仅支持将标题文本固定在框架边缘位置,无法直接实现框架内部的文本居中效果,最简单的实现方案是隐藏原生标题,在框架内部添加 Label 控件承载文本并设置居中属性。
完整修改代码
import tkinter as tk window = tk.Tk() for i in range(9): for j in range(9): frame = tk.LabelFrame( master=window, relief=tk.RAISED, borderwidth=5, width=50, height=50 ) frame.grid(row=i, column=j) # 内部添加Label控件实现文本居中 content_label = tk.Label(frame, text=i+j) content_label.pack(expand=True, fill=tk.BOTH, anchor=tk.CENTER) window.geometry("500x500") window.mainloop()
改动说明
- 移除原 LabelFrame 配置中的
text和labelanchor参数,不使用框架自带的边缘标题功能 - 给每个 LabelFrame 内部添加 Label 控件承载文本内容
- 通过
pack(expand=True, fill=tk.BOTH, anchor=tk.CENTER)配置让 Label 撑满整个框架内部空间,同时实现文本完全居中
内容的提问来源于stack exchange,提问作者Szymon Fraś
相关产品推荐
相关产品推荐

