Closed7

Pyxelでカレンダーをつくる

yakutsuyakutsu

python の標準カレンダーモジュールを使うとプレーンテキストでカレンダーを取得できる。
それをそのままtext に入れる

import pyxel
import calendar

pyxel.init(120, 120)
pyxel.cls(1)
pyxel.mouse(True)
pyxel.text(10,10,str(calendar.month(2024,9)),7)
pyxel.show()

yakutsuyakutsu
  • 色を付ける
  • 年月を指定して表示するカレンダーを切り替える
yakutsuyakutsu

デフォルトフォントの文字幅:高さ6幅4
日にちは2桁なので、一日書き込むごとに12ずつ右にずらしていけば1文字のスペースを空けて描画できる

yakutsuyakutsu

calendar モジュールのitermonthdays4(year, month)を使って1日ずつ曜日を判定して異なる色で描画していく。
itermonthdays4(year, month)は週の始まりに前後の月の日にちが入っていてもそのまま出力されるので、返ってきたタプルの月を確認して作成したいカレンダーの月と異なる場合は描画処理をスキップする必要がある。

yakutsuyakutsu

pyxel の色は pyxel.COLOR_RED などの定数が用意されている。

このスクラップは2025/03/01にクローズされました