На этом шаге мы рассмотрим назначение, форматы конструктора и основные методы этого класса.
Класс QPixmap предназначен для работы с изображениями в контекстно-зависимом представлении. Данные хранятся в виде, позволяющем отображать изображение на экране наиболее эффективным способом, поэтому класс часто используется в качестве буфера для предварительного рисования графики перед выводом ее на экран. Иерархия наследования:
QPaintDevice - QPixmap
Поскольку класс QPixmap наследует класс QPaintDevice, мы можем использовать его как поверхность для рисования. Вывести изображение позволяет метод drawPixmap() класса QPainter (см. 190 шаг).
Форматы конструктора класса:
<Объект> = QPixmap() <Объект> = QPixmap(<Ширина>, <Высота>) <Объект> = QPixmap(<QSize>) <Объект> = QPixmap(<Путь к файлу>[, format=None][, flags=AutoColor]) <Объект> = QPixmap(<QPixmap>)
Первый конструктор создает пустой объект изображения. Второй и третий конструкторы позволяют указать размеры изображения: если размеры равны нулю, то будет создан пустой объект. Четвертый конструктор предназначен для загрузки изображения из файла. Во втором параметре указывается тип изображения в виде строки (например, "PNG") - если он не указан, то формат будет определен по расширению загружаемого файла. Пятый конструктор создает копию изображения.
Класс QPixmap поддерживает следующие методы (здесь приведены только основные,- их полный список находится на странице https://doc.qt.io/qt-5/qpixmap.html):
сору([rect=QRect()]) сору(<Х>, <Y>, <Ширина>, <Высота>)
scaled(<Ширина>, <Высота>[, aspectRatioMode=IgnoreAspectRatio][, transfоrmMode=FastTransformation]) scaled(<QSize>[, aspectRatioMode=IgnoreAspectRatio][, transformMode=FastTransformation])
В необязательном параметре aspectRatioMode могут быть указаны следующие атрибуты класса Qtcore.Qt:
В необязательном параметре transformMode могут быть указаны следующие атрибуты из класса QtCore.Qt:
На следующем шаге мы рассмотрим класс QBitmap.