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 |
QtAssistant Support for online help |
12 |
QtDesigner Classes for extending Qt Designer |
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.
Following diagrams depict some important classes in their hierarchy.
Here is a select list of frequently used widgets −
Given below are the commonly 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 −