PyQt5 QCalendarWidget - Killing the timer - GeeksforGeeks

26 Jan, 2022
In this article we will see how we can kill the timer of the QCalendarWidget. In order to start the timer we use startTimer method, this method calls the timerEvent after the certain interval is passed. It starts a timer and returns a timer identifier, or returns zero if it could not start a timer.
In order to do this we will use killTimer method with the QCalendarWidget object.
Syntax : calendar.killTimer(timer_id)
Argument : It takes integer as argument i.e timer ID
Return : It return None
Implementation Steps : :1. Create a Calendar class that inherits the QCalendarWidget2. Inside the Calendar class override the timerEvent and inside the event show the next month of calendar3. Create a main window class4. Create a Calendar object inside the main window5. Set various properties to the calendar6. Create a push button7. Add action to the push button, inside the action kill the timer
Below is the implementation
Python3
# importing librariesfrom PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGuifrom PyQt5.QtGui import * from PyQt5.QtCore import * import sys  # QCalendarWidget Classclass Calendar(QCalendarWidget):      # constructor    def __init__(self, parent = None):        super(Calendar, self).__init__(parent)      # overriding the timer event    # this will show the next month    def timerEvent(self, event):          # show the next month        window.calendar.showNextMonth()    class Window(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    def UiComponents(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)          # starting the calendar timer        # passing 1000 milliseconds as parameter        self.timer_id = self.calendar.startTimer(1000)          # creating a push button        push = QPushButton("Kill Timer", self)                  # setting geometry to the push button        push.setGeometry(100, 280, 120, 40)                  # adding action to the push button        push.clicked.connect(self.do_Action)        def do_Action(self):                  # killing the timer        self.calendar.killTimer(self.timer_id)            # create pyqt5 appApp = QApplication(sys.argv)  # create the instance of our Windowwindow = Window()  # start the appsys.exit(App.exec())
Output:
sagartomar9927
Python PyQt-QCalendarWidget
Python-gui
Python-PyQt
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Enumerate() in Python
How to Install PIP on Windows ?
Different ways to create Pandas Dataframe
Python String | replace()
Create a Pandas DataFrame from Lists
Reading and Writing to text files in Python
sum() function in Python
*args and **kwargs in Python
Print lists in Python (4 Different Ways)