質問: こんばんわ。 資料が少なく、わからないことが多いので質問します。 --- ### 環境 Qt Designer PyQt5.9.5 Python 3.6 ### やりたいこと QtのQCalendarを改造していろんな動作を行えるようにしたいです。 ![QCalendarのサンプル](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/5b53a752814c39d3b0b72ec59ee6af3f.png) ![QCalendarのスタイルシート](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/f58a58817545f76ddb637207f5d1e3ec.png) 上の図は曜日の行の色だけ変えたサンプルです。(撮影は3月1日) **1.**前月、次月の日付の色を変えたい。(当月の日付と区別しやすくするため) **2.**一部の日付の色(背景や文字や枠など)を変えたい。 **3.**可能であれば日付の欄に文字や画像などを追加したい。 **4.**"2."が不可能な場合、自分でカレンダーのようなものを作るしかないのでしょうか? ### 条件 スタイルシートで対応可能であれば、そちらで変更を加えたいと考えています。 ただ、"2."、"3."についてはプログラムでの表記が必要かと思いますので、それの指定方法が知りたいです。 ### 試したこと スタイルシートで曜日行の色や全体の文字色は変更できました。 それ以上はシステムに登録されている文言(alternate-background-color等)以外がわからないのでどうしようもなかったです。 ### その他 QCalendarクラスの関数情報はすぐ見つかりますが、スタイルシートの項目名に関する詳細情報が見つかりませんでした。 恐らくそこを見れば"1."についてはクリア可能かと思うのですが、QCalendarクラス含め全てのクラスの項目名一覧が見れるような場所はないでしょうか? 例えば、**"ボタンを押している時の動作"**だと ***QPushButton:pressed { ここにフォント等を指定する }*** などとブログ等での解説が出てきますが、**"pressed"**の他全ての項目は出てきません。 ### 現在のコード Pythonでのコードはまだかけていません。 Qt DesignerにてQWidget上にQCalendarWidgetを貼り付けただけで、後はスタイルシートを変更しただけです。 ``` alternate-background-color: rgb(0, 170, 255); ```
回答: Qtのバージョンがわかりませんが、 スタイルシートのやつはHTMLと一緒に使うCSS風なので、これのQt版ということで QSSっていうらしいです。 なのでこれはいかがでしょうか? その例がこれですね。 どちらも公式サイトです。