PyQt5 QCalendarWidget – Clicked signal

In this article we will see how we can get the clicked signal from the QCalendarWidget. Clicked signal is emitted when a mouse button is clicked i.e when the mouse was clicked on the specified date. The signal is only emitted when clicked on a valid date, e.g., dates are not outside the minimum date and maximum date. If the selection mode is NoSelection, this signal will not be emitted.
In order to do this we will use clicked method with the QCalendarWidget object.
Syntax : calendar.clicked.connect(lambda: print(“Clicked”))
Argument : It takes method as argument
Action Performed : It will print the message whenever activated signal get emitted
Below is the implementation
Python3
# importing librariesfrom PyQt5.QtWidgets import *from PyQt5 import QtCore, QtGuifrom PyQt5.QtGui import *from PyQt5.QtCore import *import sysclass Window(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    def UiComponents(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 = "Clicked Signals received (No.) : "        # current count        self.count = 0        # getting the clicked signal and        # when receives the signal printing the message        calendar.clicked.connect(lambda: label.setText(text + str(get_count())))        # method to increase the count value        def get_count():            self.count += 1            return self.count# create pyqt5 appApp = QApplication(sys.argv)# create the instance of our Windowwindow = Window()# start the appsys.exit(App.exec()) | 
Output :
				
					


