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.

to_mapinfo()

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

Attributes:

line

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

point

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

polygon

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

text

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

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

property line

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

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

Optional[LineStyle]

property point

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

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

Optional[PointStyle]

property polygon

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

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

Optional[PolygonStyle]

property text

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

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

Optional[TextStyle]

to_mapinfo()

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

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

str