- PyQt5 Tutorial
- PyQt5 - Home
- PyQt5 - Introduction
- PyQt5 - What’s New
- PyQt5 - Hello World
- PyQt5 - Major Classes
- PyQt5 - Using Qt Designer
- PyQt5 - Signals & Slots
- PyQt5 - Layout Management
- PyQt5 - Basic Widgets
- PyQt5 - QDialog Class
- PyQt5 - QMessageBox
- PyQt5 - Multiple Document Interface
- PyQt5 - Drag & Drop
- PyQt5 - Database Handling
- PyQt5 - Drawing API
- PyQt5 - BrushStyle Constants
- PyQt5 - QClipboard
- PyQt5 - QPixmap Class
- PyQt5 Useful Resources
- PyQt5 - Quick Guide
- PyQt5 - Useful Resources
- PyQt5 - Discussion
PyQt5 - Major Classes
PyQt API is a large collection of classes and methods. These classes are defined in more than 20 modules.
Following are some of the frequently used modules −
Sr.No. | Modules & Description |
---|---|
1 |
QtCore Core non-GUI classes used by other modules |
2 |
QtGui Graphical user interface components |
3 |
QtMultimedia Classes for low-level multimedia programming |
4 |
QtNetwork Classes for network programming |
5 |
QtOpenGL OpenGL support classes |
6 |
QtScript Classes for evaluating Qt Scripts |
7 |
QtSql Classes for database integration using SQL |
8 |
QtSvg Classes for displaying the contents of SVG files |
9 |
QtWebKit Classes for rendering and editing HTML |
10 |
QtXml Classes for handling XML |
11 |
QtWidgets Classes for creating classic desktop-style UIs. |
12 |
QtDesigner Classes for extending Qt Designer |
13 |
QtAssistant Support for online help |
PyQt5 development tools is a collection of useful utilities for Qt development. Following is a select list of such utilities −
Sr.No. | Tool Name & Description |
---|---|
1 |
assistant Qt Assistant documentation tool |
2 |
pyqt5designer Qt Designer GUI layout tool |
3 |
linguist Qt Linguist translation tool |
4 |
lrelease compile ts files to qm files |
5 |
pylupdate5 extract translation strings and generate or update ts files |
6 |
qmake Qt software build tool |
7 |
pyqt5qmlscene QML file viewer |
8 |
pyqmlviewer QML file viewer |
9 |
pyrcc5 Qt resource file compiler |
10 |
pyuic5 Qt User Interface Compiler for generating code from ui files |
11 |
pyqmltestrunner running unit tests on QML code |
12 |
qdbus command-line tool to list D-Bus services |
13 |
QDoc documentation generator for software projects. |
14 |
Qhelpgenerator generating and viewing Qt help files. |
15 |
qmlimportscanner parses and reports on QML imports |
PyQt API contains more than 400 classes. The QObject class is at the top of class hierarchy. It is the base class of all Qt objects. Additionally, QPaintDevice class is the base class for all objects that can be painted.
QApplication class manages the main settings and control flow of a GUI application. It contains main event loop inside which events generated by window elements and other sources are processed and dispatched. It also handles system-wide and application-wide settings.
QWidget class, derived from QObject and QPaintDevice classes is the base class for all user interface objects. QDialog and QFrame classes are also derived from QWidget class. They have their own sub-class system.
Here is a select list of frequently used widgets
Sr.No. | Widgets & Description |
---|---|
1 |
QLabel Used to display text or image |
2 |
QLineEdit Allows the user to enter one line of text |
3 |
QTextEdit Allows the user to enter multi-line text |
4 |
QPushButton A command button to invoke action |
5 |
QRadioButton Enables to choose one from multiple options |
6 |
QCheckBox Enables choice of more than one options |
7 |
QSpinBox Enables to increase/decrease an integer value |
8 |
QScrollBar Enables to access contents of a widget beyond display aperture |
9 |
QSlider Enables to change the bound value linearly. |
10 |
QComboBox Provides a dropdown list of items to select from |
11 |
QMenuBar Horizontal bar holding QMenu objects |
12 |
QStatusBar Usually at bottom of QMainWindow, provides status information. |
13 |
QToolBar Usually at top of QMainWindow or floating. Contains action buttons |
14 |
QListView Provides a selectable list of items in ListMode or IconMode |
15 |
QPixmap Off-screen image representation for display on QLabel or QPushButton object |
16 |
QDialog Modal or modeless window which can return information to parent window |
A typical GUI based application’s top level window is created by QMainWindow widget object. Some widgets as listed above take their appointed place in this main window, while others are placed in the central widget area using various layout managers.
The following diagram shows the QMainWindow framework −