鱼C论坛

 找回密码
 立即注册
查看: 76|回复: 2

[已解决]Tkinter 打印 calendar ,如何对齐呀 ?

[复制链接]
发表于 7 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

  1. from tkinter import *
  2. import calendar
  3. root=Tk()
  4. a=calendar.month(2025,7)
  5. Message(root,text=a).pack()
  6. mainloop()
复制代码


最佳答案
7 天前
唯一的问题就是字体不等宽,因为这个本身是对齐好的


font=("Courier", 12),  # 关键:使用等宽字体
无标题.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
在 Tkinter 中显示日历时,对齐问题通常是由于字体非等宽导致的。解决方法是指定等宽字体(如 `Courier`),并使用 `Label` 替代 `Message` 控件(更适合显示多行固定文本)。以下是修改后的代码:


  1. from tkinter import *
  2. import calendar

  3. root = Tk()
  4. root.title("2025年7月日历")

  5. # 生成日历文本
  6. cal_text = calendar.month(2025, 7)

  7. # 使用Label + 等宽字体
  8. Label(
  9.     root,
  10.     text=cal_text,
  11.     font=("Courier", 12),  # 关键:使用等宽字体
  12.     justify=LEFT,          # 左对齐
  13.     bg='white'
  14. ).pack(padx=10, pady=10)

  15. root.mainloop()
复制代码


解决关键点:
1. font=("Courier", 12):等宽字体确保每个字符宽度相同
2. 用 Label 替代 Message:更简单控制多行文本
3. justify=LEFT:显式指定左对齐

效果:星期标题和日期列会自动对齐,无需手动调整空格。

如果需要调整外观,可以修改 font 参数(如 ("Consolas", 14))或添加 bg='#F0F0F0' 背景色。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层    本楼为最佳答案   
唯一的问题就是字体不等宽,因为这个本身是对齐好的


font=("Courier", 12),  # 关键:使用等宽字体
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-2 14:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表