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];
}](../../../_images/graphviz-4a09c7709b3667b366d01faa5781ad7f38f4a838.png)
- class axipy.CollectionStyle
Базовые классы:
StyleСмешанный стиль для разнородного типа объектов.
Данный стиль представляет собой контейнер стилей. может применяться в купе с геометрическим объектом типа разнородная коллекция
axipy.GeometryCollection. Для задания или переопределения стилей простейших объектов, необходимо вызывать соответствующие методы для необходимых типов объектов.Примечание
Объекты стилей, полученные через методы
line(),polygon()и т.д. будут удалены сразу же после удаления объекта стиля коллекции. Если их нужно сохранить, воспользуйтесь операциейclone().Классовые методы:
for_geometry(geom)Возвращает стиль по умолчанию для переданного объекта.
from_mapinfo(mapbasic_string)Получает стиль из строки формата MapBasic.
Свойства:
Стиль для линейных объектов
LineStyle.Стиль для точечных объектов
PointStyle.Стиль для полигональных объектов
PolygonStyle.Стиль для текстовых объектов
TextStyle.Методы:
clone()Создаёт копию объекта стиля
draw(geometry, painter)Рисует геометрический объект с текущим стилем в произвольном контексте вывода.
find_style(geom)Возвращает стиль, подходящий для переданной геометрии.
for_line(style)Задание стиля для линейных объектов
LineStyle.for_point(style)Задание стиля для точечных объектов
PointStyle.for_polygon(style)Задание стиля для полигональных объектов
PolygonStyle.for_text(style)Задание стиля для текстовых объектов
TextStyle.Возвращает строковое представление в формате MapBasic.
- 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)
- classmethod for_geometry(geom: Geometry) Style
Возвращает стиль по умолчанию для переданного объекта.
- Параметры:
geom – Геометрический объект, для которого необходимо получить соответствующий ему стиль.
- for_point(style: PointStyle)
Задание стиля для точечных объектов
PointStyle.
- for_polygon(style: PolygonStyle)
Задание стиля для полигональных объектов
PolygonStyle.
- classmethod from_mapinfo(mapbasic_string: str) Optional[Style]
Получает стиль из строки формата MapBasic.
- Параметры:
mapbasic_string – Строка в формате MapBasic.
style = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255)")
- property point: Optional[PointStyle]
Стиль для точечных объектов
PointStyle.
- property polygon: Optional[PolygonStyle]
Стиль для полигональных объектов
PolygonStyle.