Python/Qtでカレンダーコントロール(QCalendarWidget)
PyQtでカレンダーコントロールを使う方法を備忘録として書いておきます。PyQtにもQCalendarWidgetというカレンダーコントロールがあります。
[ad#top-1]
完成形はこんな感じです。カレンダーの上にラベルが設置してあって、日付をクリックするとラベルに表示されるようになっています。
ソースコードはこちら。これをコピペして実行すれば上記が現れます。
import sys
from PyQt5.QtWidgets import (QWidget, QCalendarWidget, QLabel, QApplication)
from PyQt5.QtCore import QDate
class Calendar(QWidget):
def __init__(self):
super().__init__()
calendar = QCalendarWidget(self)
calendar.setGridVisible(True)
calendar.move(30, 50)
# 日付クリックでshowDate呼び出し
calendar.clicked[QDate].connect(self.showDate)
# ラベル
self.label = QLabel(self)
# 今日の日付
date = calendar.selectedDate()
# 日付をラベルにセット
self.label.setText(date.toString())
self.label.move(30, 20)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('Calendar')
self.show()
def showDate(self, date):
# クリックされた日付をラベルにセット
self.label.setText(date.toString())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Calendar()
sys.exit(app.exec_())
[ad#ad-1]
スポンサーリンク
