Шаг 181.
Библиотека PyQt5.
Работа с графикой. Вспомогательные классы. Класс QPen: перо
На этом шаге мы рассмотрим назначение, форматы конструктора и основные методы этого класса.
Класс QPen описывает виртуальное перо, с помощью которого производится рисование точек, линий и
контуров фигур. Форматы конструктора класса:
<Объект> = QPen()
<Объект> = QPen(<QColor>)
<Объект> = QPen(<Стиль>)
<Объект> = QPen(<QBrush>, <Ширина>[, style=SolidLine][, cap=SquareCap]
[, join=BevelJoin])
<Объект> = QPen(<QPen>)
Первый конструктор создает перо черного цвета с настройками по умолчанию. Второй конструктор задает только цвет
пера с помощью экземпляра класса QColor. Третий конструктор позволяет указать стиль линии - в качестве
значения указываются следующие атрибуты класса Qtcore.Qt:
- NoPen (или 0) - линия не выводится;
- SolidLine (или 1) - сплошная линия;
- DashLine (или 2) - штриховая линия;
- DotLine (или 3) - точечная линия;
- DashDotLine (или 4) - штрих и точка, штрих и точка и т. д.;
- DashDotDotLine (или 5) - штрих и две точки, штрих и две точки и т. д.;
- CustomDashLine (или 6) - пользовательский стиль.
Четвертый конструктор позволяет задать все характеристики пера за один раз: в первом параметре указывается экземпляр класса
QBrush или QColor, ширина линии передается во втором параметре, стиль линии - в необязательном параметре
style, а необязательный параметр cap задает стиль концов линии, где в качестве значения указываются следующие
атрибуты класса Qtcore.Qt:
- FlatCap (или 0) - квадратный конец линии. Длина линии не превышает указанных граничных точек;
- SquareCap (или 16) - квадратный конец линии. Длина линии увеличивается с обоих концов на половину ширины линии;
- RoundCap (или 32) - скругленные концы. Длина линии увеличивается с обоих концов на половину ширины линии.
Необязательный параметр join задает стиль перехода одной линии в другую - в качестве значения указываются следующие атрибуты класса QtCore.Qt:
- MiterJoin (или 0) - линии соединяются под острым углом;
- BevelJoin (или 64) - пространство между концами линий заполняется цветом линии;
- RoundJoin (или 128) - скругленные углы;
- SvgMiterJoin (или 256) - линии соединяются под острым углом, как определено в спецификации SVG 1.2 Tiny.
Класс QPen поддерживает следующие методы (здесь приведены только основные - полный их список доступен на странице
https://doc.qt.io/qt-5/qpen.html):
- setColor (<QColor>) - задает цвет линии;
- setBrush (<QBrush>) - задает кисть;
- setWidth (<Ширина типа int>) и setWidthF (<Ширина типа float>) - задают ширину
линии целым числом или числом с плавающей точкой соответственно;
- setStyle (<Стиль>) - задает стиль линии (см. значения параметра style в четвертом
формате конструктора класса QPen);
- setCapstyle (<Стиль>) - задает стиль концов линии (см, значения параметра cap в
четвертом формате конструктора класса QPen);
- setJoinStyle (<Стиль>) - задает стиль перехода одной линии в другую (см. значения
параметра join в четвертом формате конструктора класса QPen).
На следующем шаге мы рассмотрим класс QBrush.
Предыдущий шаг
Содержание
Следующий шаг