Spec-Zone.ru › Qt 5.12

Класс QPolygon

Класс QPolygon предоставляет вектор точек с использованием целочисленной точности. Подробнее...

Заголовок: #include <QPolygon>
qmake: QT += gui
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются реентерабельными.

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

QPolygon()
QPolygon(int size)
QPolygon(const QVector<QPoint> &points)
QPolygon(QVector<QPoint> &&v)
QPolygon(const QRect &rectangle, bool closed = false)
QPolygon(const QPolygon &polygon)
QPolygon(QPolygon &&other)
~QPolygon()
QRect boundingRect() const
bool containsPoint(const QPoint &point, Qt::FillRule fillRule) const
QPolygon intersected(const QPolygon &r) const
bool intersects(const QPolygon &p) const
void point(int index, int *x, int *y) const
QPoint point(int index) const
void putPoints(int index, int nPoints, int firstx, int firsty, ...)
void putPoints(int index, int nPoints, const QPolygon &fromPolygon, int fromIndex = 0)
void setPoint(int index, int x, int y)
void setPoint(int index, const QPoint &point)
void setPoints(int nPoints, const int *points)
void setPoints(int nPoints, int firstx, int firsty, ...)
QPolygon subtracted(const QPolygon &r) const
void swap(QPolygon &other)
void translate(int dx, int dy)
void translate(const QPoint &offset)
QPolygon translated(int dx, int dy) const
QPolygon translated(const QPoint &offset) const
QPolygon united(const QPolygon &r) const
QVariant operator QVariant() const
QPolygon & operator=(QPolygon &&other)
QPolygon & operator=(const QPolygon &other)

Связанные внешние функции

QDataStream & operator<<(QDataStream &stream, const QPolygon &polygon)
QDataStream & operator>>(QDataStream &stream, QPolygon &polygon)

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

Класс QPolygon предоставляет вектор точек с использованием целочисленной точности.

Объект QPolygon представляет собой QVector<QPoint>. Самый простой способ добавить точки в QPolygon — использовать оператор потокового ввода QVector, как показано ниже:

        QPolygon polygon;
        polygon << QPoint(10, 20) << QPoint(20, 30);

В дополнение к функциям, предоставляемым классом QVector, QPolygon предоставляет некоторые функции, специфичные для точек.

Каждую точку многоугольника можно получить, передав ее индекс функции point(). Для заполнения многоугольника QPolygon предоставляет функцию setPoint() для установки точки по заданному индексу, функцию setPoints() для установки всех точек в многоугольнике (изменяя его размер до заданного количества точек) и функцию putPoints(), которая копирует заданное количество точек в многоугольник с указанного индекса (изменяя размер многоугольника при необходимости).

QPolygon предоставляет функции boundingRect() и translate() для геометрических функций. Для более общих преобразований QPolygons используйте функцию QMatrix::map().

Класс QPolygon использует неявное совместное использование.

См. также QVector, QPolygonF и QLine.

Документация по функциям-членам

QPolygon::QPolygon()

Создает многоугольник без точек.

См. также QVector::isEmpty().

QPolygon::QPolygon(int size)

Создает многоугольник заданного размера size. Создаёт пустой многоугольник, если size == 0.

См. также QVector::isEmpty().

QPolygon::QPolygon(const QVector<QPoint> &points)

Создает многоугольник, содержащий указанные points.

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

QPolygon::QPolygon(QVector<QPoint> &&v)

Создаёт экземпляр QPolygon по умолчанию.

QPolygon::QPolygon(const QRect &rectangle, bool closed = false)

Создает многоугольник из заданного rectangle. Если closed ложно, многоугольник содержит только четыре точки прямоугольника в порядке обхода по часовой стрелке, иначе пятая точка многоугольника устанавливается в rectangle.topLeft().

Обратите внимание, что нижний правый угол прямоугольника находится в координатах (rectangle.x() + rectangle.width(), rectangle.y() + rectangle.height()).

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

QPolygon::QPolygon(const QPolygon &polygon)

Создает копию заданного polygon.

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

QPolygon::QPolygon(QPolygon &&other)

Конструктор перемещения копии.

QPolygon::~QPolygon()

Уничтожает многоугольник.

QRect QPolygon::boundingRect() const

Возвращает прямоугольник, ограничивающий многоугольник, или QRect(0, 0, 0, 0), если многоугольник пустой.

См. также QVector::isEmpty().

bool QPolygon::containsPoint(const QPoint &point, Qt::FillRule fillRule) const

Возвращает true если заданная точка point находится внутри многоугольника в соответствии с указанным fillRule; в противном случае возвращает false.

Эта функция была представлена в Qt 4.3.

QPolygon QPolygon::intersected(const QPolygon &r) const

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

Операции над множествами многоугольников будут рассматривать многоугольники как области. Незамкнутые многоугольники будут рассматриваться как неявно замкнутые.

Эта функция была представлена в Qt 4.3.

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

bool QPolygon::intersects(const QPolygon &p) const

Возвращает true если текущий многоугольник пересекается в любой точке с заданным многоугольником p. Также возвращает true если текущий многоугольник содержит или содержится в любой части p.

Операции над множествами многоугольников будут рассматривать многоугольники как области. Незамкнутые многоугольники будут рассматриваться как неявно замкнутые.

Эта функция была представлена в Qt 5.10.

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

void QPolygon::point(int index, int *x, int *y) const

Извлекает координаты точки по заданному index в *x и *y (если указатели допустимы).

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

QPoint QPolygon::point(int index) const

Это перегруженная функция.

Возвращает точку по заданному index.

void QPolygon::putPoints(int index, int nPoints, int firstx, int firsty, ...)

Копирует nPoints точек из списка переменных аргументов в этот многоугольник с заданного index.

Точки задаются последовательностью целых чисел, начиная с firstx, затем firsty и так далее. Многоугольник изменяет размер, если index+nPoints превышает его текущий размер.

Пример кода создаёт многоугольник с тремя точками (4,5), (6,7) и (8,9), расширяя многоугольник с 1 до 3 точек:

        QPolygon polygon(1);
        polygon[0] = QPoint(4, 5);
        polygon.putPoints(1, 2, 6,7, 8,9);

Следующий код имеет тот же результат, но здесь функция putPoints() перезаписывает, а не расширяет:

        QPolygon polygon(3);
        polygon.putPoints(0, 3, 4,5, 0,0, 8,9);
        polygon.putPoints(1, 1, 6,7);

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

void QPolygon::putPoints(int index, int nPoints, const QPolygon &fromPolygon, int fromIndex = 0)

Это перегруженная функция.

Копирует nPoints точек с заданного fromIndex (по умолчанию 0) из fromPolygon в этот многоугольник, начиная с указанного index. Например:

        QPolygon polygon1;
        polygon1.putPoints(0, 3, 1,2, 0,0, 5,6);
        // polygon1 is now the three-point polygon(1,2, 0,0, 5,6);

        QPolygon polygon2;
        polygon2.putPoints(0, 3, 4,4, 5,5, 6,6);
        // polygon2 is now (4,4, 5,5, 6,6);

        polygon1.putPoints(2, 3, polygon2);
        // polygon1 is now the five-point polygon(1,2, 0,0, 4,4, 5,5, 6,6);

void QPolygon::setPoint(int index, int x, int y)

Устанавливает точку по заданному index в точку, заданную (x, y).

См. также point(), putPoints() и setPoints().

void QPolygon::setPoint(int index, const QPoint &point)

Это перегруженная функция.

Устанавливает точку по заданному index в заданную point.

void QPolygon::setPoints(int nPoints, const int *points)

Изменяет размер многоугольника на nPoints и заполняет его заданными points.

Пример кода создаёт многоугольник с двумя точками (10, 20) и (30, 40):

        static const int points[] = { 10, 20, 30, 40 };
        QPolygon polygon;
        polygon.setPoints(2, points);

См. также setPoint() и putPoints().

void QPolygon::setPoints(int nPoints, int firstx, int firsty, ...)

Это перегруженная функция.

Изменяет размер многоугольника на nPoints и заполняет его точками, заданными списком переменных аргументов. Точки задаются последовательностью целых чисел, начиная с firstx, затем firsty и так далее.

Пример кода создаёт многоугольник с двумя точками (10, 20) и (30, 40):

        QPolygon polygon;
        polygon.setPoints(2, 10, 20, 30, 40);

QPolygon QPolygon::subtracted(const QPolygon &r) const

Возвращает многоугольник, полученный вычитанием r из этого многоугольника.

Операции над множествами многоугольников будут рассматривать многоугольники как области. Незамкнутые многоугольники будут рассматриваться как неявно замкнутые.

Эта функция была представлена в Qt 4.3.

void QPolygon::swap(QPolygon &other)

Меняет местами многоугольник other и этот многоугольник. Эта операция очень быстрая и никогда не завершается ошибкой.

Эта функция была представлена в Qt 4.8.

void QPolygon::translate(int dx, int dy)

Переводит все точки многоугольника на (dx, dy).

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

void QPolygon::translate(const QPoint &offset)

Это перегруженная функция.

Переводит все точки многоугольника на заданный offset.

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

QPolygon QPolygon::translated(int dx, int dy) const

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

Эта функция была представлена в Qt 4.6.

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

QPolygon QPolygon::translated(const QPoint &offset) const

Это перегруженная функция.

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

Эта функция была представлена в Qt 4.6.

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

QPolygon QPolygon::united(const QPolygon &r) const

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

Операции над множествами многоугольников будут рассматривать многоугольники как области и неявно закроют многоугольник.

Эта функция была представлена в Qt 4.3.

См. также intersected() и subtracted().

QVariant QPolygon::operator QVariant() const

Возвращает многоугольник как QVariant

QPolygon &QPolygon::operator=(QPolygon &&other)

Оператор перемещающей присваивания.

QPolygon &QPolygon::operator=(const QPolygon &other)

Оператор копирования присваивания.

Связанные нечлен-функции

QDataStream &operator<<(QDataStream &stream, const QPolygon &polygon)

Записывает заданный polygon в заданный stream и возвращает ссылку на поток.

Эта функция была представлена в Qt 4.4.

См. также Сериализация типов данных Qt.

QDataStream &operator>>(QDataStream &stream, QPolygon &polygon)

Считывает многоугольник из заданного stream в заданный polygon и возвращает ссылку на поток.

Эта функция была представлена в Qt 4.4.

См. также Сериализация типов данных Qt.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qpolygon.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API