PyQt is a GUI widgets toolkit. It is a Python interface for Qt,
one of the most powerful, and popular cross-platform GUI library. PyQt
was developed by RiverBank Computing Ltd. The latest version of PyQt can
be downloaded from its official website − riverbankcomputing.com
পৃষ্ঠাসমূহ
Labels
Search Your Article
CS
Pageviews
Showing posts with label PyQt Tutorial. Show all posts
Showing posts with label PyQt Tutorial. Show all posts
Friday, March 31, 2017
PyQt - Hello World
Creating a simple GUI application using PyQt involves the following steps −
- Import QtGui module.
- Create an application object.
- A QWidget object creates top level window. Add QLabel object in it.
- Set the caption of label as “hello world”.
- Define the size and position of window by setGeometry() method.
- Enter the mainloop of application by app.exec_() method.
PyQt - 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 −
| S.No. | Modules & Description |
|---|---|
| 1 |
QtCore Core non-GUI classes used by other modules |
| 2 |
QtGui Graphical user interface components |
PyQt - Using Qt Designer
The PyQt installer comes with a GUI builder tool called Qt Designer.
Using its simple drag and drop interface, a GUI interface can be
quickly built without having to write the code. It is however, not an
IDE such as Visual Studio. Hence, Qt Designer does not have the facility
to debug and build the application.
Creation of a GUI interface using Qt Designer starts with choosing a top level window for the application.
Creation of a GUI interface using Qt Designer starts with choosing a top level window for the application.
PyQt - Signals & Slots
Unlike a console mode application, which is executed in a sequential
manner, a GUI based application is event driven. Functions or methods
are executed in response to user’s actions like clicking on a button,
selecting an item from a collection or a mouse click etc., called events.
PyQt - Layout Management
A GUI widget can be placed inside the container window by specifying
its absolute coordinates measured in pixels. The coordinates are
relative to the dimensions of the window defined by setGeometry()
method.
setGeometry() syntax
QWidget.setGeometry(xpos, ypos, width, height)In the following code snippet, the top level window of 300 by 200 pixels dimensions is displayed at position (10, 10) on the monitor.
PyQt - QDialog Class
A QDialog widget presents a top level window mostly used to collect response from the user. It can be configured to be Modal (where it blocks its parent window) or Modeless (the dialog window can be bypassed).
PyQt API has a number of preconfigured Dialog widgets such as InputDialog, FileDialog, FontDialog, etc.
PyQt API has a number of preconfigured Dialog widgets such as InputDialog, FileDialog, FontDialog, etc.
PyQt - QMessageBox
QMessageBox is a commonly used modal dialog to display some
informational message and optionally ask the user to respond by clicking
any one of the standard buttons on it. Each standard button has a
predefined caption, a role and returns a predefined hexadecimal number.
Important methods and enumerations associated with QMessageBox class are given in the following table −
Important methods and enumerations associated with QMessageBox class are given in the following table −
PyQt - Multiple Document Interface
A typical GUI application may have multiple windows. Tabbed and stacked widgets allow to activate one such window at a time. However, many a times this approach may not be useful as view of other windows is hidden.
One way to display multiple windows simultaneously is to create them as independent windows. This is called as SDI (single Document Interface). This requires more memory resources as each window may have its own menu system, toolbar, etc.
One way to display multiple windows simultaneously is to create them as independent windows. This is called as SDI (single Document Interface). This requires more memory resources as each window may have its own menu system, toolbar, etc.
PyQt - Drag & Drop
The provision of drag and drop is very intuitive for the user. It is found in many desktop applications where the user can copy or move objects from one window to another.
MIME based drag and drop data transfer is based on QDrag class. QMimeData objects associate the data with their corresponding MIME type. It is stored on clipboard and then used in the drag and drop process.
MIME based drag and drop data transfer is based on QDrag class. QMimeData objects associate the data with their corresponding MIME type. It is stored on clipboard and then used in the drag and drop process.
PyQt - Database Handling
PyQt API contains an elaborate class system to communicate with many SQL based databases. Its QSqlDatabase provides access through a Connection object. Following is the list of currently available SQL drivers −
| Driver Type | Description |
|---|---|
| QDB2 | IBM DB2 |
| QIBASE | Borland InterBase Driver |
PyQt - Drawing API
All the QWidget classes in PyQt are sub classed from QPaintDevice class. A QPaintDevice is an abstraction of two dimensional space that can be drawn upon using a QPainter. Dimensions of paint device are measured in pixels starting from the top-left corner.
PyQt - BrushStyle Constants
Predefined QColor Styles
| Qt.NoBrush | No brush pattern |
| Qt.SolidPattern | Uniform color |
| Qt.Dense1Pattern | Extremely dense brush pattern |
| Qt.HorPattern | Horizontal lines |
PyQt - QClipboard
The QClipboard class provides access to system-wide clipboard
that offers a simple mechanism to copy and paste data between
applications. Its action is similar to QDrag class and uses similar data
types.
QApplication class has a static method clipboard() which returns reference to clipboard object. Any type of MimeData can be copied to or pasted from the clipboard.
QApplication class has a static method clipboard() which returns reference to clipboard object. Any type of MimeData can be copied to or pasted from the clipboard.
PyQt - QPixmap Class
QPixmap class provides an off-screen representation of an
image. It can be used as a QPaintDevice object or can be loaded into
another widget, typically a label or button.
Qt API has another similar class QImage, which is optimized for I/O and other pixel manipulations. Pixmap, on the other hand, is optimized for showing it on screen. Both formats are interconvertible.
The types of image files that can be read into a QPixmap object are as follows −
Qt API has another similar class QImage, which is optimized for I/O and other pixel manipulations. Pixmap, on the other hand, is optimized for showing it on screen. Both formats are interconvertible.
The types of image files that can be read into a QPixmap object are as follows −
PyQt - Quick Guide
PyQt - Introduction
PyQt is a GUI widgets toolkit. It is a Python interface for Qt, one of the most powerful, and popular cross-platform GUI library. PyQt was developed by RiverBank Computing Ltd. The latest version of PyQt can be downloaded from its official website − riverbankcomputing.comPyQt - Useful Resources
The following resources contain additional information on PyQt. Please use them to get more in-depth knowledge on this.
Useful Links on PyQt
- PyQt Wiki - Wikipedia Reference for PyQt.
Discuss PyQt
PyQt is a GUI widgets toolkit. It is a Python interface for Qt,
one of the most powerful, and popular cross-platform GUI library. PyQt
is a blend of Python programming language and the Qt library. This
introductory tutorial will assist you in creating graphical applications
with the help of PyQt.
Subscribe to:
Posts (Atom)