Класс QPixmap обеспечивает представление изображения вне экрана. Он может использоваться как объект QPaintDevice или может быть загружен в другой виджет, обычно метку или кнопку.
У Qt API есть другой аналогичный класс QImage, который оптимизирован для ввода-вывода и других пиксельных манипуляций. Pixmap, с другой стороны, оптимизирован для отображения на экране. Оба формата являются взаимозаменяемыми.
Типы файлов изображений, которые могут быть прочитаны в объект QPixmap, следующие:
BMP | Битовая карта Windows |
GIF | Формат обмена графическими данными (необязательно) |
JPG | Объединенная группа экспертов по фотографии |
JPEG | Объединенная группа экспертов по фотографии |
PNG | Портативная сетевая графика |
PBM | Portable Bitmap |
PGM | Портативная серая карта |
PPM | Портативный Pixmap |
XBM | X11 Bitmap |
XPM | X11 Pixmap |
Следующие методы полезны при обработке объекта QPixmap —
Sr.No. | Методы и описание |
---|---|
1 |
копия () Копирует данные растрового изображения из объекта QRect |
2 |
fromImage () Преобразует объект QImage в QPixmap |
3 |
grabWidget () Создает растровое изображение из данного виджета |
4 |
grabWindow () Создать растровое изображение данных в окне |
5 |
Нагрузка () Загружает файл изображения как растровое изображение |
6 |
спасти() Сохраняет объект QPixmap в виде файла |
7 |
изображать Преобразует QPixmap в QImage |
копия ()
Копирует данные растрового изображения из объекта QRect
fromImage ()
Преобразует объект QImage в QPixmap
grabWidget ()
Создает растровое изображение из данного виджета
grabWindow ()
Создать растровое изображение данных в окне
Нагрузка ()
Загружает файл изображения как растровое изображение
спасти()
Сохраняет объект QPixmap в виде файла
изображать
Преобразует QPixmap в QImage
Наиболее распространенное использование QPixmap — это отображение изображения на ярлыке / кнопке.
пример
В следующем примере показано изображение, отображаемое в QLabel с помощью метода setPixmap (). Полный код выглядит следующим образом —
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()
Приведенный выше код производит следующий вывод —