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.CollectionStyle

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

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

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

Примечание

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

Классовые методы:

for_geometry(geom)

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

from_mapinfo(mapbasic_string)

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

Свойства:

line

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

point

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

polygon

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

text

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

Методы:

clone()

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

draw(geometry, painter)

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

find_style(geom)

Возвращает стиль, подходящий для переданной геометрии.

for_line(style)

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

for_point(style)

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

for_polygon(style)

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

for_text(style)

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

to_mapinfo()

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

clone() Style

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

draw(geometry: Geometry, painter: QPainter)

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

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

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

Пример отрисовки в растре и сохранение результата в файле.
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: Geometry) Style

Возвращает стиль, подходящий для переданной геометрии.

classmethod for_geometry(geom: Geometry) Style

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

Параметры:

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

for_line(style: LineStyle)

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

for_point(style: PointStyle)

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

for_polygon(style: PolygonStyle)

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

for_text(style: TextStyle)

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

classmethod from_mapinfo(mapbasic_string: str) Optional[Style]

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

Параметры:

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

style = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255)")
property line: Optional[LineStyle]

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

property point: Optional[PointStyle]

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

property polygon: Optional[PolygonStyle]

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

property text: Optional[TextStyle]

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

to_mapinfo() str

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

print(style.to_mapinfo())
'''
>>> Pen (1, 2, 0) Brush (8, 255)
'''