Класс 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()
Приведенный выше код производит следующий вывод —