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.da.CollectionStyle
Базовые классы:
Style
Смешанный стиль для разнородного типа объектов.
Данный стиль представляет собой контейнер стилей. может применяться в купе с геометрическим объектом типа разнородная коллекция
axipy.da.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
.