The script was created and tested with Spyder I.D.E. version 3.2.8.
The PyQt5 version is:
from PyQt5.Qt import PYQT_VERSION_STR
print("PyQt version:", PYQT_VERSION_STR)
PyQt version: 5.9.2
This is the python script:import sys
from PyQt5.QtWidgets import (QWidget, QCalendarWidget,
QLabel, QApplication)
from PyQt5.QtCore import QDate
class Calendar(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
calendar = QCalendarWidget(self)
calendar.setGridVisible(True)
calendar.move(0, 15)
calendar.clicked[QDate].connect(self.showDate)
calendar.currentPageChanged[int, int].connect(self.currentPageChanged)
self.lbl = QLabel(self)
date = calendar.selectedDate()
self.lbl.setText(date.toString())
self.lbl.move(0, 0)
self.setGeometry(300, 300, 300, 300)
self.setWindowTitle('Calendar')
self.show()
def showDate(self, date):
self.lbl.setText(date.toString())
def currentPageChanged(self, year, month):
print(year, month)
if __name__ == '__main__':
app = QApplication(sys.argv)
calendar_test = Calendar()
sys.exit(app.exec_())
The result of this script is: