Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

Описание Класса QPen
[модуль QtGui]

Класс QPen определяет, как должен QPainter рисовать линии и контуры фигур. Далее...

#include <QPen>

Открытые Функции

Связанные Не-Члены


Подробное Описание

Класс QPen определяет, как должен QPainter рисовать линии и контуры фигур.

Перо имеет стиль, толщину, кисть, стиль окончаний и стиль соединений.

Стиль пера задает тип линии. По умолчанию перо имеет стиль Qt::SolidLine. Установка стиля в Qt::NoPen запрещает живописцу рисовать линии и контуры.

Кисть пера определяет заливку линий и текста. По умолчанию перо имеет твердую черную кисть. Описание класса QColor содержит список предопределенных цветов.

Стиль окончаний определяет, как будут рисоваться окончания отображаемых линий. Стиль соединений определяет, как будут отображаеться соединения двух линий при рисовании нескольких связанных линий (QPainter::drawPolyline() и т.д.). Стили окончаний и соединений влияют только на широкие линии, т.е. ширина которых равна 1 или больше.

Для задания стиля заливки используйте класс QBrush.

Начиная с Qt 4.1 стало возможно, с помощью setDashPattern(), задать собственный стиль линии QPen.

Пример:

            QPainter painter;
            QPen pen(Qt::red, 2);                 // красная сплошная линия шириной 2 пикселя
            painter.begin(&anyPaintDevice);   // начало рисования
            painter.setPen(pen);              // установка красного сплошного пера
            painter.drawRect(40,30, 200,100); // рисование прямоугольника
            painter.setPen(Qt::blue);             // установка голубого пера толщиной 0 пикселей
            painter.drawLine(40,30, 240,130); // рисование диагонали прямоугольника
            painter.end();                    // завершение рисования

Для получения полного списка стилей пера см. описание перечисления Qt::PenStyle.

Действительно-ли рисуются окончания линий при ширине линии ноль или один, зависит от стиля окончания. При использовании SquareCap (п умолчанию) или RoundCap они рисуются, а при использовании FlatCap нет.

color(), brush(), width(), style(), capStyle() и joinStyle() пера могут быть установлены в конструкторе пера или позже, с испльзованием setColor(), setWidth(), setStyle(), setCapStyle() и setJoinStyle(). Перья могут также сравниваться и помещаться в поток.

Pen styles

См. также QPainter и QPainter::setPen().


Описание Функций-Членов

QPen::QPen ()

Создает по умолчанию черное непрерывное перо толщиной 0.

QPen::QPen ( Qt::PenStyle style )

Создает черное перо с толщиной 0 и стилем style.

См. также setStyle().

QPen::QPen ( const QColor & color )

Создает перо с цветом color и толщиной 0.

См. также setBrush() и setColor().

QPen::QPen ( const QBrush & brush, qreal width, Qt::PenStyle s = Qt::SolidLine, Qt::PenCapStyle c = Qt::SquareCap, Qt::PenJoinStyle j = Qt::BevelJoin )

Создает перо с заданной кистью brush и тощиной width. Стиль пера устанавливается в s, стиль окончаний пера устанавливается в c, а стиль соединений - в j.

См. также setWidth(), setStyle() и setBrush().

QPen::QPen ( const QPen & p )

Создает перо, являющееся копией p.

QPen::~QPen ()

Разрушает перо.

QBrush QPen::brush () const

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

См. также setBrush().

Qt::PenCapStyle QPen::capStyle () const

Возвращает стиль окончаний пера.

См. также setCapStyle().

QColor QPen::color () const

Возвращает цвет пера.

См. также setColor().

QVector<qreal> QPen::dashPattern () const

Возвращает образец линии пера.

См. также setDashPattern().

bool QPen::isSolid () const

Возвращает true если перо имеет непрерывное заполнение.

Qt::PenJoinStyle QPen::joinStyle () const

Возвращает стиль соединений пера.

См. также setJoinStyle().

qreal QPen::miterLimit () const

Возвращает предел митры пера. Предел митры пера уместен только в том случае, если стиль соединений линий пера установлен в Qt::MiterJoin.

См. также setMiterLimit().

void QPen::setBrush ( const QBrush & brush )

Устанавливает кисть, используемую пером для заполнения форм в brush.

См. также brush().

void QPen::setCapStyle ( Qt::PenCapStyle c )

Устанавливает стиль окончаний пера в c.

Значение по умолчанию - Qt::SquareCap.

Pen Cap Styles

См. также capStyle().

void QPen::setColor ( const QColor & c )

Устанавливает цвет пера в c.

См. также color().

void QPen::setDashPattern ( const QVector<qreal> & pattern )

Устанавливает образец линии пера в pattern. Стиль пера наявно устанавливается в Qt::CustomDashLine.

Образец должен быть задан, как набор чисел, где значения с номерами 1, 3, 5... - это длины штрихов, с номерами 2, 4, 6... длины пропусков.

Образец линии пера задается в единицах толщины пера, например, образец штриха, длиной в 5 при толщине линии 10 пикселей, имеет длину 50 пикселей. Каждый из штрихов подчинен стилям окончания, так что, штрих, длиной в 1 пиксель при квадратных окончаниях линий, будет растянут на 0.5 пикселей в каждом из направлений, и в результате длина штриха будет равна 2 пикселей.

См. также dashPattern().

void QPen::setJoinStyle ( Qt::PenJoinStyle j )

Устанавливает стиль соединений пера в j.

Значение по умолчанию - Qt::BevelJoin.

Pen Join Styles

See also joinStyle().

void QPen::setMiterLimit ( qreal limit )

Устанавливает предел митры пера в limit.

Предел митры указывает, как далеко может простираться митра от точки соединения линий. Он используется для уменьшения закрышиваемой области между соединяющимися линиями в случаях, когда линии почти параллельны.

Имеет значение только тогда, когда стиль пера установлен в Qt::MiterJoin. Значение задается в единицах толщины пера.

См. также miterLimit().

void QPen::setStyle ( Qt::PenStyle s )

Устанавливает стиль пера в s.

Для получения списка всех стилей пера см. описание Qt::PenStyle.

См. также style().

void QPen::setWidth ( int width )

Устанавливает толщину пера в width.

Ширина пера равная нулю указывает делает перо косметическим. Это означает, что толщина линии будет равна 1, независимо от преобразований, установленных для живописца.

Установка толщины пера в отрицательные значения не поддерживается.

См. также setWidthF() и width().

void QPen::setWidthF ( qreal width )

Устанавливает толщину пера в width.

См. также setWidth() и widthF().

Qt::PenStyle QPen::style () const

Возвращает стиль пера.

См. также setStyle().

int QPen::width () const

Возвращает толщину пера в виде целого числа.

См. также setWidth().

qreal QPen::widthF () const

Возвращает толщину пера в виде числа с плавающей точкой.

См. также setWidthF() и width().

QPen::operator QVariant () const

Возвращает перо как QVariant.

bool QPen::operator!= ( const QPen & p ) const

Возвращает true если данное перо отлично от пера p; в противном случае возвращает false.

Два пера считаются различными, если они имеют различные стили, толщину или цвет.

См. также operator==().

QPen & QPen::operator= ( const QPen & p )

Присваивает значение пера p данному перу и возвращает ссылку на данное перо.

bool QPen::operator== ( const QPen & p ) const

Возвращает true если данное перо эквивалентно p; в противном случае возвращает false.

Два пера считаются эквивалентными, если они имеют одинаковые стили, толщину и цвет.

См. также operator!=().


Связанные Не-Члены

QDataStream & operator<< ( QDataStream & s, const QPen & p )

Записывает перо p в поток s и возвращает ссылку на поток.

См. также Формат операторов QDataStream.

QDataStream & operator>> ( QDataStream & s, QPen & p )

Читает из потока s в перо p и возвращает ссылку на поток.

См. также Формат операторов QDataStream.


Copyright © 2005 Trolltech Trademarks
Qt 4.1.0
Hosted by uCoz