На этом шаге мы рассмотрим методы, позволяющие сохранять и загружать рисунки.
Класс QPicture выполняет роль устройства для рисования с возможностью сохранения команд рисования в файл специального формата и последующего вывода его на экран. Иерархия наследования:
QPaintDevice - QPicture
Форматы конструктора класса:
<Объект> = QPicture([formatVersion=-1]) <Объект> = QPicture(<QPicture>)
Первый конструктор создает пустой рисунок. Необязательный параметр formatVersion задает версию формата. Если параметр не указан, то используется формат, принятый в текущей версии PyQt. Второй конструктор создает копию рисунка.
Для сохранения и загрузки рисунка предназначены следующие методы:
Для вывода загруженного рисунка на устройство рисования предназначен метод drawPicture() класса QPainter. Форматы метода:
drawPicture(<X>, <Y>, <QPicture>) drawPicture(<QPoint>, <QPicture>) drawPicture(<QPointF>, <QPicture>)
Пример сохранения рисунка:
painter = QtGui.QPainter() pic = QtGui.QPicture() painter.begin(pic) # Здесь что-то рисуем painter.end() pic.save("pic.dat")
Пример вывода загруженного рисунка на поверхность компонента:
def paintEvent(self, е): painter = QtGui.QPainter(self) pic = QtGui.QPicture() pic.load("pic.dat") painter.drawPicture(0, 0, pic)
Со следующего шага мы начнем рассматривать работу с изображениями.