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 −
BMP | Windows Bitmap |
GIF | Graphic Interchange Format (optional) |
JPG | Joint Photographic Experts Group |
JPEG | Joint Photographic Experts Group |
PNG | Portable Network Graphics |
PBM | Portable Bitmap |
PGM | Portable Graymap |
PPM | Portable Pixmap |
XBM | X11 Bitmap |
XPM | X11 Pixmap |
Following methods are useful in handling QPixmap object −
Sr.No. | Methods & Description |
---|---|
1 |
copy() Copies pixmap data from a QRect object |
2 |
fromImage() Converts QImage object into QPixmap |
3 |
grabWidget() Creates a pixmap from the given widget |
4 |
grabWindow() Create pixmap of data in a window |
5 |
Load() Loads an image file as pixmap |
6 |
save() Saves the QPixmap object as a file |
7 |
toImage Converts a QPixmap to QImage |
The most common use of QPixmap is to display image on a label/button.
The following example shows an image displayed on a QLabel by using the setPixmap() method. The complete code is as follows −
import sys from PyQt4.QtCore import * from PyQt4.QtGui import * def window(): app = QApplication(sys.argv) win = QWidget() l1 = QLabel() l1.setPixmap(QPixmap("python.jpg")) vbox = QVBoxLayout() vbox.addWidget(l1) win.setLayout(vbox) win.setWindowTitle("QPixmap Demo") win.show() sys.exit(app.exec_()) if __name__ == '__main__': window()
The above code produces the following output −