PyQt5 QCalendarWidget – Selection Changed signal

In this article, we will see how we can get the selection changed signal from the QCalendarWidget. Selection changed signal is emitted when the currently selected date is changed. The currently selected date can be changed by the user using the mouse or keyboard.
 
In order to do this we will use selectionChanged method with the QCalendarWidget object.
Syntax : calendar.selectionChanged.connect(lambda: print(“Selection Changed”))
Argument : It takes method as argument
Action Performed : It will print the message whenever activated signal get emitted
Below is the implementation 
 
Python3
| # importing librariesfromPyQt5.QtWidgets import*fromPyQt5 importQtCore, QtGuifromPyQt5.QtGui import*fromPyQt5.QtCore import*importsysclassWindow(QMainWindow):    def__init__(self):        super().__init__()        # setting title        self.setWindowTitle("Python ")        # setting geometry        self.setGeometry(100, 100, 600, 400)        # calling method        self.UiComponents()        # showing all the widgets        self.show()    # method for components    defUiComponents(self):        # creating a QCalendarWidget object        calendar =QCalendarWidget(self)        # setting geometry to the calendar        calendar.setGeometry(10, 10, 400, 250)        # creating a label        label =QLabel(self)        # setting geometry to the label        label.setGeometry(100, 280, 250, 60)        # making label multi line        label.setWordWrap(True)        # text        text ="Selection Changed signal (No.) : "        # current count        self.count =0        # getting the selection change signal and        # when receives the signal printing the message        calendar.selectionChanged.connect(lambda: label.setText(text +str(get_count())))        # method to increase the count value        defget_count():            self.count +=1            returnself.count# create pyqt5 appApp =QApplication(sys.argv)# create the instance of our Windowwindow =Window()# start the appsys.exit(App.exec()) | 
Output : 
 
 
				 
					


