In this article we will see how we can insert QAction to the QCalendarWidget. In order to do this we use insertAction method, this method inserts the action to the calendar’s list of actions, before the given action. It appends the action if before is None or before is not a valid action for this widget.
In order to do this we will use
insertActionmethod with the QCalendarWidget object.Syntax : calendar.insertAction(before, action)
Argument : It takes two QAction object as argument as argument, first is the QAction which is already added and second is the QAction which will be inserted before the ‘before’ QAction
Return : It return None
Below is the implementation
Python3
| # importing libraries fromPyQt5.QtWidgets import*fromPyQt5 importQtCore, QtGui fromPyQt5.QtGui import*fromPyQt5.QtCore import*importsys  # QCalendarWidget Class classCalendar(QCalendarWidget):      # constructor     def__init__(self, parent =None):         super(Calendar, self).__init__(parent)   classWindow(QMainWindow):      def__init__(self):         super().__init__()          # setting title         self.setWindowTitle("Python ")          # setting geometry         self.setGeometry(100, 100, 650, 400)          # calling method         self.UiComponents()          # showing all the widgets         self.show()      # method for components     defUiComponents(self):          # creating a QCalendarWidget object         # as Calendar class inherits QCalendarWidget         self.calendar =Calendar(self)          # setting geometry to the calendar         self.calendar.setGeometry(50, 10, 400, 250)          # setting cursor         self.calendar.setCursor(Qt.PointingHandCursor)          # creating a QAction objects         action1 =QAction("Geek", self)         action2 =QAction("Python", self)          # creating action list         action_list =[action1, action2]          # adding actions to calendar         self.calendar.addActions(action_list)          # 3 rd action         action_mid =QAction("BTech", self)          # inserting action in before second action         self.calendar.insertAction(action2, action_mid)          # creating label to show the properties         self.label =QLabel(self)          # setting geometry to the label         self.label.setGeometry(100, 280, 300, 100)          # making label multi line         self.label.setWordWrap(True)          # getting action of the calendar         value =self.calendar.actions()          # setting text to the label         self.label.setText("Actions : "+str(value))     # create pyqt5 app App =QApplication(sys.argv)  # create the instance of our Window window =Window()  # start the app sys.exit(App.exec())  | 
Output :

 
                                    








