PROGRAM PYTHON

Pythonスクリプト【tkinterで月間カレンダーを表示しよう③】

 

 

当月の足りない日にちを前後の月の日にちで埋めよう

今回は表示するカレンダーの週を6行に固定にして、足りない日にちは前月や翌月の日にちで埋めるようにしてみましょう。
当月以外の日にちは色を灰色にして、当月の日にちとは違いがはっきり分かるようにします。

 

当月の足りない日にちを前後の月の日にちで埋めるプログラム

足りない日にちを前月と翌月の日にちを使って埋めるため、表示する月の前月と翌月のカレンダーも取得します。
当月、前月、翌月の年と月を取得する処理は、別関数にしてまとめています。
カレンダーを取得するmonthdayscalendar()メソッドは、その月の該当日がない場合は0が返ってくるので、カレンダーの1行目の日にちが0だった場合は前月の最終週の日にちを、カレンダーの5行目以降の日にちが0だった場合は翌月の初週の日にちを割り当てて、色も灰色にしています。
また、イレギュラーな処理として、2026年2月のように2月1日が日曜日で閏年以外の年は週が4行しかないため、5行目と6行目を翌月の日にちを割り当てます。

カレンダーで表示する週を6行固定にして、足りない日にちは前月や翌月の日にちで埋めています。

tkcalendar5

 

-PROGRAM, PYTHON
-,