PolygonStyle - Стиль полигонов

digraph geometry {
    node [shape="box", style=filled, fillcolor="lightgray"]
    rankdir=LR
    labelloc="t";
    label="Зависимости стиля площадного объекта:";

    Style  [ href="Style.html#ref-label-style-class" ];
    LineStyle  [ href="LineStyle.html#ref-label-linestyle-class" ];
    FillStyle  [ href="FillStyle.html#ref-label-fillstyle-class" ];
    PolygonStyle  [ href="PolygonStyle.html#ref-label-polygonstyle-class", fillcolor=green, style=filled];

    Style -> PolygonStyle;
    PolygonStyle -> LineStyle [ label="Обводка", style=dashed, arrowhead=none];
    PolygonStyle -> FillStyle [ label="Заливка", style=dashed, arrowhead=none];
}
class axipy.da.PolygonStyle(pattern=1, color=PySide2.QtCore.Qt.GlobalColor.white, pattern_pen=1)

Базовые классы: axipy.da.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 (int) – Номер стиля заливки.

  • color (QColor) – Цвет основной заливки.

  • pattern_pen (int) – Цвет обводки. По умолчанию обводка отсутствует.

Attributes:

border

Стиль окантовки.

fill

Стиль заливки.

Methods:

clone()

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

draw(geometry, painter)

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

for_geometry(geom)

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

from_mapinfo(mapbasic_string)

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

set_brush([pattern, color, bgColor])

Задание стиля заливки площадного объекта.

set_pen([pattern, color, width])

Задание стиля обводки.

to_mapinfo()

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

property border

Стиль окантовки. Может отсутствовать. Для переопределения можно также использовать set_pen()

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

LineStyle

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)
property fill

Стиль заливки.

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

FillStyle

classmethod for_geometry(geom)

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

Параметры

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

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

Style

classmethod from_mapinfo(mapbasic_string)

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

Параметры

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

style = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255)")
Тип результата

Style

set_brush(pattern=1, color=PySide2.QtCore.Qt.GlobalColor.white, bgColor=PySide2.QtCore.Qt.GlobalColor.transparent)

Задание стиля заливки площадного объекта.

Параметры
  • pattern (int) – Номер стиля заливки. Шаблон задается числом от 1 до 71, при этом в шаблоне с номером 1 оба цвета отсутствуют, а в шаблоне 2 отсутствует цвет фона. Шаблоны с кодами 9-11 зарезервированы для внутренних целей.

  • color (QColor) – Цвет основной заливки.

  • bgColor (QColor) – Цвет заднего фона, если заливка неполная.

Доступные стили заливки см. FillStyle:

set_pen(pattern=2, color=PySide2.QtCore.Qt.GlobalColor.black, width=1)

Задание стиля обводки. Параметры аналогичны при задании стиля линии LineStyle()

Параметры
  • pattern (int) – Номер стиля линии.

  • color (QColor) – Цвет линии

  • width (int) – Толщина линии.

to_mapinfo()

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

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

str