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]
スポンサーリンク