如何在 tkinter 中使用日历模块?

How to use the calendar module with tkinter?

calendar 模块与 tkinter 一起使用,如果一周不是从星期一开始,最后一行总是有一个位移。有谁知道为什么会这样?

import calendar
from tkinter import *

gui = Tk()
gui.title("Calendar")

def cal():
    y = e1.get()
    m = e2.get()
    cal_x = calendar.month(int(y),int(m),w = 2, l = 1)
    print (cal_x)
    cal_out = Label(gui, text=cal_x, font=('courier', 12, 'bold'), bg='lightblue')
    cal_out.pack(padx=3, pady=10)

label1 = Label(gui, text="Year:")
label1.pack()

e1 = Entry(gui)
e1.pack()

label2 = Label(gui, text="Month:")
label2.pack()

e2 = Entry(gui)
e2.pack()

button = Button(gui, text="Show",command=cal)
button.pack()

gui.mainloop()

您只需将 Label 中的文本左对齐:

cal_out = Label(
    gui,
    bg='lightblue',
    font=('courier', 12, 'bold'), 
    justify=LEFT,  # like this
    text=cal_x, 
)

这个月,这给了我:

tkinter 默认情况下会 CENTER-justify,这在这种情况下看起来很奇怪; calendar 只是 returns 文本,所以你不能真的把它归咎于那个模块!