Python日历对齐方式

2024-04-16 15:40:54 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行代码时,日历日数字与它们所在的星期不一致。我试过左、右、中对齐。所有这些都不能解决我的问题,即使没有justify语句也不行

from tkinter import *
import calendar as cl
import datetime as datet

year = int(datet.date.today().strftime("%Y")) #year
month =  int(datet.date.today().strftime("%m")) #month number

root = Tk()
root.geometry("300x300")

app = Frame(root)
app.grid()

cal = Label(app, text = cl.month(year, month), justify = RIGHT)
cal.grid(row = 0, column = 0)

root.mainloop()

Tags: importapptodaydateclasrootyear
1条回答
网友
1楼 · 发布于 2024-04-16 15:40:54

Tkinter默认使用非单空格字体作为标签。calendar.month(year, month)是一个长字符串,如果您在控制台中打印它,它将按您的意愿显示出来。将代码更改为:

import calendar
import datetime
from tkinter import *

year = int(datetime.date.today().strftime("%Y"))  # year
month = int(datetime.date.today().strftime("%m"))  # month number

root = Tk()
root.geometry("300x300")

app = Frame(root)
app.grid()

cal = Label(app, text=calendar.month(year, month), font=('Consolas', 12))
cal.grid(row=0, column=0)

root.mainloop()

Consolas是一种单空间字体,还有其他选择。你知道吗

请注意,如果您将日历的每个部分拆分为自己的小部件,则不必更改字体以使它们按您的意愿对齐。你知道吗

相关问题 更多 >