TextStyle - Стиль текста
- class axipy.TextStyle
Базовые классы:
Style
Стиль текстового объекта.
Значение
Наименование
0
Обычный
1
Жирный
2
Курсив
4
Подчеркнутый
16
Контур (только для Macintosh)
32
Тень
256
Кайма
512
Капитель
1024
Разрядка
style = TextStyle("Droid Sans", 24) style.fontname = 'Adobe Helvetica' style.color = Qt.red style.bold = True style.italic = True style.shadow = True style.spacing = True style.capital = True style.alignment = TextAlignment.Center print(style.size) style.size = 22 style.callout = TextCallout.Arrow arrow_style = LineStyle(2, Qt.red) style.callout_style = arrow_style print(style.to_mapinfo()) ''' >>> Font ("Adobe Helvetica", 1571, 22, 16711680) Label Line Arrow Line (1, 2, 16711680) '''
Примечание
При назначении стиля для текста необходимо помнить, что его параметры и параметры геометрии
axipy.mi.Text
взаимозависимы.Конструктор класса:
__init__
(fontname, size[, style, forecolor, ...])Конструктор класса.
Классовые методы:
for_geometry
(geom)Возвращает стиль по умолчанию для переданного объекта.
from_mapinfo
(mapbasic_string)Получает стиль из строки формата MapBasic.
Свойства:
Выравнивание текста.
Цвет фона текста
Тип отрисовки фона текста.
Жирный текст.
Тип выноски.
Стиль выноски.
Цвет текста
Наименование шрифта
Курсив текста.
Тень.
Базовый размер шрифта в пунктах.
Разрядка
Методы:
clone
()Создаёт копию объекта стиля
draw
(geometry, painter)Рисует геометрический объект с текущим стилем в произвольном контексте вывода.
Возвращает строковое представление в формате MapBasic.
- __init__(fontname: str, size: int, style: int = 0, forecolor: QColor = Qt.black, backcolor: QColor = Qt.transparent)
Конструктор класса.
- Параметры:
fontname – Наименование шрифта.
size – Размер шрифта в пунктах. Может принимать значение 0 для подписей в окне карты, так как они являются атрибутами карты и их размер определяется динамически.
style – Дополнительные параметры стиля. Подробнее см. в таблице ниже. Стоит заметить, что если оставить значение, равным 0, то необходимые свойства можно установить позже через соответствующие свойства.
forecolor – Цвет шрифта.
backcolor – Цвет заднего фона, если он задан.
- property alignment: TextAlignment
Выравнивание текста.
- property bg_type: TextBackgroundType
Тип отрисовки фона текста.
- property callout: TextCallout
Тип выноски.
- 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)")