0

我希望将每个正方形中的天数从中间移到左上角。我已经阅读了 tkcalendar 的文档,但我无法在网上找到任何东西。我无法尝试任何事情,因为我还没有看到任何这样做的例子。如果可能的话,有人可以帮我吗?

在此处输入图像描述 蟒蛇版本= 2.7.16

系统 = macOS Mojave 10.14.6

编码级别 = noob - 初学者

感谢您的帮助和时间。

4

1 回答 1

1

没有选项可以更改日期编号的位置。因此,有必要深入挖掘小部件的源代码来做到这一点。日期只是标签,因此可以通过将anchor选项设置为 来获得所需的位置"nw"。它们被存储在一个名为._calendar(每周一个列表)的列表中:

import tkinter as tk
from tkcalendar import Calendar

class MyCalendar(Calendar):
    def __init__(self, master, **kw):
        Calendar.__init__(self, master, **kw)

        for row in self._calendar:
            for label in row:
                label['anchor'] = "nw"

        # # uncomment this block to align left weekday names
        # for label in self._week_days:
        #     label['anchor'] = "w"


root = tk.Tk()
cal = MyCalendar(root, showweeknumbers=False)
cal.pack(fill='both', expand=True)
root.geometry("400x300")
root.mainloop()

截屏

于 2021-04-05T19:38:39.787 回答