CollectionStyle - Стиль коллекций

class axipy.da.CollectionStyle

Базовые классы: axipy.da.Style

Смешанный стиль для разнородного типа объектов.

Данный стиль представляет собой контейнер стилей. может применяться в купе с геометрическим объектом типа разнородная коллекция axipy.da.GeometryCollection. Для задания или переопределения стилей простейших объектов, необходимо вызывать соответствующие методы для необходимых типов объектов.

Methods:

draw(geometry, painter)

Рисует геометрический объект с текущим стилем в произвольном контексте вывода.

find_style(geom)

Пытаемся найти стиль подходящий для переданной геометрии

for_geometry(geom)

Возвращает стиль по умолчанию для переданного объекта.

for_line(style)

Задание стиля для линейных объектов LineStyle.

for_point(style)

Задание стиля для точечных объектов PointStyle.

for_polygon(style)

Задание стиля для полигональных объектов PolygonStyle.

for_text(style)

Задание стиля для текстовых объектов TextStyle.

from_mapinfo(mapbasic_string)

Получает стиль из строки формата MapBasic.

line()

Стиль для линейных объектов LineStyle.

point()

Стиль для точечных объектов PointStyle.

polygon()

Стиль для полигональных объектов PolygonStyle.

text()

Стиль для текстовых объектов TextStyle.

to_mapinfo()

Возвращает строковое представление в формате MapBasic.

draw(geometry, painter)

Рисует геометрический объект с текущим стилем в произвольном контексте вывода. Это может быть востребовано при желании отрисовать геометрию со стилем на форме или диалоге.

Параметры
  • geometry (Geometry) – Геометрия. Должна соответствовать стилю. Т.е. если объект полигон, а стиль для рисования точечных объектов, то ничего нарисовано не будет.

  • painter (QPainter) – Контекст вывода.

Пример отрисовки в растре и сохранение результата в файле.
image = QImage(100, 100, QImage.Format_ARGB32_Premultiplied)
image.fill(Qt.white)
painter = QPainter(image)
point = Point(50,50)
style = PointStyle.create_mi_font(42, Qt.red, 24)
style.draw(point, painter)
image.save(filename)
find_style(geom)

Пытаемся найти стиль подходящий для переданной геометрии

classmethod for_geometry(geom)

Возвращает стиль по умолчанию для переданного объекта.

Параметры

geom (Geometry) – Геометрический объект, для которого необходимо получить соответствующий ему стиль.

Тип результата

Style

for_line(style)

Задание стиля для линейных объектов LineStyle.

for_point(style)

Задание стиля для точечных объектов PointStyle.

for_polygon(style)

Задание стиля для полигональных объектов PolygonStyle.

for_text(style)

Задание стиля для текстовых объектов TextStyle.

classmethod from_mapinfo(mapbasic_string)

Получает стиль из строки формата MapBasic.

Параметры

mapbasic_string (str) – Строка в формате MapBasic.

style = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255)")
Тип результата

Style

line()

Стиль для линейных объектов LineStyle.

point()

Стиль для точечных объектов PointStyle.

polygon()

Стиль для полигональных объектов PolygonStyle.

text()

Стиль для текстовых объектов TextStyle.

to_mapinfo()

Возвращает строковое представление в формате MapBasic.

style.to_mapinfo()
'''
>>> Pen (1, 2, 0) Brush (8, 255)
'''
Тип результата

str