Шаг 192.
Библиотека PyQt5.
Работа с графикой. Класс QPainter. Сохранение команд рисования в файл

    На этом шаге мы рассмотрим методы, позволяющие сохранять и загружать рисунки.

    Класс 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)

    Со следующего шага мы начнем рассматривать работу с изображениями.




Предыдущий шаг Содержание Следующий шаг