GUI Calendar using PyQt5 in Python
GUI:
One of the most significant factors that increased the usability of computer and digital technologies for common, less tech-savvy users is likely the development and widespread adoption of GUIs. GUIs are intuitive enough that even relatively unskilled employees without programming experience can use them. Because they are always designed with the user in mind rather than being primarily machine-centered, they have become the standard in software application programming.
The user is provided with information using manipulable visual widgets that don't require command-line input. These interface components respond to the user's interactions per the pre-programmed script, assisting each user's action. Since many GUIs represent text and graphical elements in standard formats, it is possible for programs using the same GUI software to share data. As it is patched and developed, the same software application or OS version may present distinct or marginally distinct GUIs. The appearance of an application may change depending on user needs or to enhance the user experience, even if the application's core functionality and functions remain unchanged, as was the case with the various Windows versions over time.
PyQt5:
PyQt5 is one of several solutions that Python offers for creating GUI applications. Cross-platform GUI toolkit PyQt5 is a collection of Python interfaces for Qt version 5. With the capabilities and convenience of use that this library offers, one can create an interactive computer program very quickly. Front-end and Back-end make up a GUI application. In order to speed up development & allow more time to be spent on back-end tasks, PyQt5 has developed a tool called "QtDesigner" that allows one to drag and drop elements to create the front-end. Riverbank Computing is the company in charge of developing and maintaining PyQt. A most recent stable version is PyQt6. The PyQt main version's release cycle matches Qt's, as per the release history. The PyQt codebase is a complex system with both C++ and Python code at its core. It is therefore more difficult to create and download it from the sources than other Python libraries. A month-by-month calendar widget with a date selection option is provided by the QWidgets class's QCalendarWidget. We use calendars to set aside certain days for cultural, religious, commercial, or administrative purposes. The way this is done is by naming attention to discrete time periods, most frequently days, days, months, and years. An individual day is designated by a date in such a system.
Installation:
pip install pyqt5
pip install pyqt5-tools
utilising a QT designer tool to create a signup form. To developed this skill, buttons, text boxes, etc., no coding is necessary! It is a drag-and-drop kind of setting. Therefore, using PyQt is easier than Tkinter.
About Code;
Python programmers can develop a calendar GUI with the PyQt5 component widget QCalendar. The GUI widget toolkit from Riverbank Computing's most recent release is PyQt5. A Python interface is available for Qt, one of the best and most widely used cross-platform GUI libraries. PyQt5 combines the Py computing languages and the Qt library. With the help of this simple lesson, you can utilise PyQt to create graphical applications. Quality and date selection options are what make the QCalendar widgets more practical. It presents a month-based viewpoint. The user can select the date that use the keyboard or mouse with today's date set as the default. A solar calendar date range can also be specified.
CODE:
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Python ")
self.setGeometry(100, 100, 600, 400)
self.UiComp()
self.show()
def UiComp (self):
# creating a new Qcalanderwidget using PyQt5
clndr = QCalendarWidget(self)
# setting the gemoetry of this calender
clndr.setGeometry(10, 10, 580, 380)
# creating a application of PyQt5
Base = QApplication(sys.argv)
# creating an window made instance
window = Window()
# Now we start the application
sys.exit(Base.exec())
CODE EXPLANATION:
Importing all the modules which are to be required that are PyQt5, QtWidgets, Qtcore, QtGui, sys. Initially we set the window title to the calendar then we get the geometry dimensions which are 100,100,600 and 400. Then after we create a UiComp function to create a calendar using the dimensions and QCalenderWidget to start the program.
OUTPUT:
