PolygonStyle - Стиль полигонов
- class axipy.PolygonStyle
Базовые классы:
Style
Стиль площадного объекта. По умолчанию создается прозрачный стиль
FillStyle
с черной окантовкойLineStyle
.# Создадим стиль по умолчанию plstyle = PolygonStyle() print(plstyle.to_mapinfo()) # Назначим цвет заливки и фона заливки plstyle.set_brush(color=Qt.green, bgColor=Qt.blue) print(plstyle.to_mapinfo()) # Установим обводку plstyle.set_pen(color=Qt.black) print(plstyle.to_mapinfo()) # Установим параметры заливки через свойства plstyle.fill.pattern = 5 plstyle.fill.color = Qt.blue # Установим параметры обводки через свойства plstyle.border.width = 4 plstyle.border.color = Qt.blue ''' >>> Brush (1, 16777215) >>> Brush (1, 65280, 255) >>> Pen (1, 2, 0) Brush (1, 65280, 255) '''
- Параметры:
pattern – Номер стиля заливки.
color – Цвет основной заливки.
pattern_pen – Цвет обводки. По умолчанию обводка отсутствует.
Конструктор класса:
__init__
([pattern, color, pattern_pen])Классовые методы:
for_geometry
(geom)Возвращает стиль по умолчанию для переданного объекта.
from_mapinfo
(mapbasic_string)Получает стиль из строки формата MapBasic.
Свойства:
Стиль окантовки.
Стиль заливки.
Методы:
clone
()Создаёт копию объекта стиля
draw
(geometry, painter)Рисует геометрический объект с текущим стилем в произвольном контексте вывода.
set_brush
([pattern, color, bgColor])Задание стиля заливки площадного объекта.
set_pen
([pattern, color, width])Задание стиля обводки.
Возвращает строковое представление в формате MapBasic.
- property border: LineStyle
Стиль окантовки. Может отсутствовать. Для переопределения можно также использовать
set_pen()
.
- 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 – Геометрический объект, для которого необходимо получить соответствующий ему стиль.
- classmethod from_mapinfo(mapbasic_string: str) Optional[Style]
Получает стиль из строки формата MapBasic.
- Параметры:
mapbasic_string – Строка в формате MapBasic.
style = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255)")
- set_brush(pattern: int = 1, color: QColor = Qt.white, bgColor: QColor = Qt.transparent)
Задание стиля заливки площадного объекта.
- Параметры:
pattern – Номер стиля заливки. Шаблон задается числом от 1 до 71, при этом в шаблоне с номером 1 оба цвета отсутствуют, а в шаблоне 2 отсутствует цвет фона. Шаблоны с кодами 9-11 зарезервированы для внутренних целей.
color – Цвет основной заливки.
bgColor – Цвет заднего фона, если заливка неполная.
Доступные стили заливки см.
FillStyle
:
- set_pen(pattern: int = 2, color: QColor = Qt.black, width: int = 1)
Задание стиля обводки. Параметры аналогичны при задании стиля линии
LineStyle()
- Параметры:
pattern – Номер стиля линии.
color – Цвет линии
width – Толщина линии.