Tkinter 打印 calendar ,如何对齐呀 ?
from tkinter import *
import calendar
root=Tk()
a=calendar.month(2025,7)
Message(root,text=a).pack()
mainloop()
在 Tkinter 中显示日历时,对齐问题通常是由于字体非等宽导致的。解决方法是指定等宽字体(如 `Courier`),并使用 `Label` 替代 `Message` 控件(更适合显示多行固定文本)。以下是修改后的代码:
from tkinter import *
import calendar
root = Tk()
root.title("2025年7月日历")
# 生成日历文本
cal_text = calendar.month(2025, 7)
# 使用Label + 等宽字体
Label(
root,
text=cal_text,
font=("Courier", 12),# 关键:使用等宽字体
justify=LEFT, # 左对齐
bg='white'
).pack(padx=10, pady=10)
root.mainloop()
解决关键点:
1. font=("Courier", 12):等宽字体确保每个字符宽度相同
2. 用 Label 替代 Message:更简单控制多行文本
3. justify=LEFT:显式指定左对齐
效果:星期标题和日期列会自动对齐,无需手动调整空格。
如果需要调整外观,可以修改 font 参数(如 ("Consolas", 14))或添加 bg='#F0F0F0' 背景色。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 唯一的问题就是字体不等宽,因为这个本身是对齐好的
font=("Courier", 12),# 关键:使用等宽字体
页:
[1]