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

digraph geometry {
    node [shape="box", style=filled, fillcolor="lightgray"]
    rankdir=LR
    labelloc="t";

    Style  [ href="Style.html#ref-label-style-class" ];
    PointStyle  [ href="PointStyle.html#ref-label-pointstyle-class" ];
    LineStyle  [ href="LineStyle.html#ref-label-linestyle-class" ];
    PolygonStyle  [ href="PolygonStyle.html#ref-label-polygonstyle-class" ];
    TextStyle  [ href="TextStyle.html#ref-label-textstyle-class" ];
    CollectionStyle  [ href="CollectionStyle.html#ref-label-collectionstyle-class", fillcolor=green, style=filled ];

    Style -> CollectionStyle;
    CollectionStyle -> PointStyle [style=dashed, arrowhead=none];
    CollectionStyle -> LineStyle [style=dashed, arrowhead=none];
    CollectionStyle -> PolygonStyle [style=dashed, arrowhead=none];
    CollectionStyle -> TextStyle [style=dashed, arrowhead=none];
}
class axipy.da.CollectionStyle

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

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

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

Примечание

Объекты стилей, полученные через методы line(), polygon() и т.д. будут удалены сразу же после удаления объекта стиля коллекции. Если их нужно сохранить, воспользуйтесь операцией clone().

Methods:

clone()

Создаёт копию объекта стиля

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.

clone()

Создаёт копию объекта стиля

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

Style

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)

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

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

Style

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.

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

Optional[LineStyle]

point()

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

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

Optional[PointStyle]

polygon()

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

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

Optional[PolygonStyle]

text()

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

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

Optional[TextStyle]

to_mapinfo()

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

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

str