Spec-Zone.ru › Qt

Класс QTransform

Класс QTransform задаёт 2D преобразования системы координат. Подробнее...

Заголовок: #include <QTransform>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
  • Список всех членов, включая унаследованные

Открытые типы

перечисление TransformationType { TxNone, TxTranslate, TxScale, TxRotate, TxShear, TxProject }

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

QTransform(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy)
QTransform(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33)
QTransform()
QTransform & operator=(const QTransform &matrix)
qreal m11() const
qreal m12() const
qreal m13() const
qreal m21() const
qreal m22() const
qreal m23() const
qreal m31() const
qreal m32() const
qreal m33() const
QTransform adjoint() const
qreal определитель() const
qreal dx() const
qreal dy() const
QTransform обращённая(bool *invertible = nullptr) const
bool является_аффинной() const
bool является_единичной() const
bool обратима() const
bool вращение() const
bool масштабирование() const
bool перемещение() const
void преобразовать(qreal x, qreal y, qreal *tx, qreal *ty) const
QPoint преобразовать(const QPoint &point) const
QPointF преобразовать(const QPointF &p) const
QLine преобразовать(const QLine &l) const
QLineF преобразовать(const QLineF &line) const
QPolygonF преобразовать(const QPolygonF &polygon) const
QPolygon преобразовать(const QPolygon &polygon) const
QRegion преобразовать(const QRegion &region) const
QPainterPath преобразовать(const QPainterPath &path) const
void преобразовать(int x, int y, int *tx, int *ty) const
QRectF преобразоватьПрямоугольник(const QRectF &rectangle) const
QRect преобразоватьПрямоугольник(const QRect &rectangle) const
QPolygon преобразоватьВМногоугольник(const QRect &rectangle) const
void сбросить()
QTransform & повернуть(qreal angle, Qt::Axis axis = Qt::ZAxis)
QTransform & повернутьРадиан(qreal angle, Qt::Axis axis = Qt::ZAxis)
QTransform & масштабировать(qreal sx, qreal sy)
void установитьМатрицу(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33)
QTransform & смещение(qreal sh, qreal sv)
QTransform & переместить(qreal dx, qreal dy)
QTransform транспонировать() const
QTransform::TransformationType тип() const
QVariant operator QVariant() const
bool !=(const QTransform &matrix) const
QTransform operator*(const QTransform &matrix) const
QTransform & operator*=(const QTransform &matrix)
QTransform & operator*=(qreal scalar)
QTransform & operator+=(qreal scalar)
QTransform & operator-=(qreal scalar)
QTransform & operator/=(qreal scalar)
bool operator==(const QTransform &matrix) const

Статические открытые члены

QTransform fromScale(qreal sx, qreal sy)
QTransform fromTranslate(qreal dx, qreal dy)
bool quadToQuad(const QPolygonF &one, const QPolygonF &two, QTransform &trans)
bool quadToSquare(const QPolygonF &quad, QTransform &trans)
bool squareToQuad(const QPolygonF &quad, QTransform &trans)

Связанные нечлены

bool qFuzzyCompare(const QTransform &t1, const QTransform &t2)
size_t qHash(const QTransform &key, size_t seed = 0)
QPoint operator*(const QPoint &point, const QTransform &matrix)
QPointF operator*(const QPointF &point, const QTransform &matrix)
QLineF operator*(const QLineF &line, const QTransform &matrix)
QLine operator*(const QLine &line, const QTransform &matrix)
QPolygonF operator*(const QPolygonF &polygon, const QTransform &matrix)
QPolygon operator*(const QPolygon &polygon, const QTransform &matrix)
QRegion operator*(const QRegion &region, const QTransform &matrix)
QPainterPath operator*(const QPainterPath &path, const QTransform &matrix)
QDataStream & operator<<(QDataStream &stream, const QTransform &matrix)
QDataStream & operator>>(QDataStream &stream, QTransform &matrix)

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

Преобразование задает способ трансляции, масштабирования, наклона, поворота или проекции системы координат и обычно используется при отрисовке графики.

Объект QTransform можно создать, используя функции setMatrix(), scale(), rotate(), translate() и shear(). В качестве альтернативы можно применить основные операции с матрицей. Матрица также может быть определена при создании, и она может быть сброшена до единичной матрицы (по умолчанию) с помощью функции reset().

Класс QTransform поддерживает отображение графических примитивов: заданную точку, линию, многоугольник, область или путь painter можно отобразить в системе координат, определенной матрицей this, используя функцию map(). В случае прямоугольника его координаты могут быть преобразованы с помощью функции mapRect(). Прямоугольник также может быть преобразован в многоугольник (отображенный в системе координат, определенной матрицей this), используя функцию mapToPolygon().

QTransform предоставляет функцию isIdentity(), которая возвращает true если матрица является единичной матрицей, и функцию isInvertible(), которая возвращает true если матрица невырожденная (т. е. AB = BA = I). Функция inverted() возвращает инвертированную копию матрицы this, если она обратима (в противном случае возвращает единичную матрицу), а adjoint() возвращает классический адъюнкт матрицы. Кроме того, QTransform предоставляет функцию determinant(), которая возвращает определитель матрицы.

Наконец, класс QTransform поддерживает умножение, сложение и вычитание матриц, а объекты класса также могут быть переданы и сравнены.

Отрисовка графики

При отрисовке графики матрица определяет преобразования, но фактическое преобразование выполняется процедурами рисования в QPainter.

По умолчанию QPainter работает в собственной системе координат связанного устройства. Стандартная система координат QPaintDevice имеет свой источник в верхнем левом углу. Значения x увеличиваются вправо; значения y увеличиваются вниз. Более подробное описание см. в документации по системе координат.

QPainter имеет функции для трансляции, масштабирования, наклона и поворота системы координат без использования QTransform. Например:

void SimpleTransformation::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
    painter.drawRect(0, 0, 100, 100);

    painter.rotate(45);

    painter.setFont(QFont("Helvetica", 24));
    painter.setPen(QPen(Qt::black, 1));
    painter.drawText(20, 10, "QTransform");
}

Хотя эти функции очень удобны, может быть эффективнее создать QTransform и вызвать QPainter::setTransform(), если вы хотите выполнить более одной операции преобразования. Например:

void CombinedTransformation::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
    painter.drawRect(0, 0, 100, 100);

    QTransform transform;
    transform.translate(50, 50);
    transform.rotate(45);
    transform.scale(0.5, 1.0);
    painter.setTransform(transform);

    painter.setFont(QFont("Helvetica", 24));
    painter.setPen(QPen(Qt::black, 1));
    painter.drawText(20, 10, "QTransform");
}

Основные операции с матрицей

Объект QTransform содержит 3x3 матрицу. Элементы m31 (dx) и m32 (dy) задают горизонтальный и вертикальный сдвиг. Элементы m11 и m22 задают горизонтальное и вертикальное масштабирование. Элементы m21 и m12 задают горизонтальное и вертикальное наклонение. И, наконец, элементы m13 и m23 задают горизонтальную и вертикальную проекцию, при этом m33 является дополнительным фактором проекции.

QTransform преобразует точку на плоскости в другую точку, используя следующие формулы:

x' = m11*x + m21*y + dx
y' = m22*y + m12*x + dy
if (!isAffine()) {
    w' = m13*x + m23*y + m33
    x' /= w'
    y' /= w'
}

Точка (x, y) — исходная точка, а (x', y') — преобразованная точка. (x', y') можно преобразовать обратно в (x, y), выполнив ту же операцию с матрицей inverted().

Различные элементы матрицы могут быть установлены при создании матрицы или с помощью функции setMatrix() позже. Их также можно изменить с помощью удобных функций translate(), rotate(), scale() и shear(). Текущие значения могут быть получены с помощью функций m11(), m12(), m13(), m21(), m22(), m23(), m31(), m32(), m33(), dx() и dy().

Трансляция — это самое простое преобразование. Установка dx и dy переместит систему координат на dx единицы по оси X и на dy единицы по оси Y. Масштабирование можно выполнить, установив m11 и m22. Например, установка m11 в 2 и m22 в 1,5 удвоит высоту и увеличит ширину на 50%. Единичная матрица имеет m11, m22, и m33 установленные в 1 (все остальные установлены в 0), отображая точку на саму себя. Наклон контролируется m12 и m21. Установка этих элементов на значения, отличные от нуля, закрутит систему координат. Поворот достигается установкой факторов наклона и факторов масштабирования. Преобразование перспективы достигается установкой обоих факторов проекции и факторов масштабирования.

Комбинирование преобразований

Вот пример комбинированных преобразований, использующий основные операции с матрицами:

void BasicOperations::paintEvent(QPaintEvent *)
{
    const double a = qDegreesToRadians(45.0);
    double sina = sin(a);
    double cosa = cos(a);

    QTransform scale(0.5, 0, 0, 1.0, 0, 0);
    QTransform rotate(cosa, sina, -sina, cosa, 0, 0);
    QTransform translate(1, 0, 0, 1, 50.0, 50.0);

    QTransform transform = scale * rotate * translate;

    QPainter painter(this);
    painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
    painter.drawRect(0, 0, 100, 100);

    painter.setTransform(transform);

    painter.setFont(QFont("Helvetica", 24));
    painter.setPen(QPen(Qt::black, 1));
    painter.drawText(20, 10, "QTransform");
}

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

Отношение к матричной записи

Матричная запись в QTransform — это транспонирование общепринятой конвенции, которая представляет преобразования и точки в виде матриц и векторов. В этой конвенции матрица умножается слева на столбец-вектор справа. Другими словами, когда к точке применяются несколько преобразований, правейшая матрица действует непосредственно на вектор в первую очередь. Затем следующая матрица слева действует на результат первого преобразования — и так далее. В результате эта конвенция умножает матрицы, составляющие составное преобразование, в обратном порядке по сравнению с QTransform, как вы можете увидеть в Объединение преобразований. Транспонирование матриц и объединение их справа от строкового вектора, представляющего точку, позволяет матрицам преобразований в их произведении появляться в том порядке, в котором мы представляем преобразования, применяемые к точке.

См. также QPainter, Система координат, Пример аффинных преобразований и Пример преобразований.

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

перечисление QTransform::TransformationType

Константа Значение
QTransform::TxNone 0x00
QTransform::TxTranslate 0x01
QTransform::TxScale 0x02
QTransform::TxRotate 0x04
QTransform::TxShear 0x08
QTransform::TxProject 0x10

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

QTransform::QTransform(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy)

Конструирует матрицу с элементами m11, m12, m21, m22, dx и dy.

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

QTransform::QTransform(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33)

Конструирует матрицу с элементами m11, m12, m13, m21, m22, m23, m31, m32, m33.

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

QTransform::QTransform()

Конструирует единичную матрицу.

Все элементы установлены в ноль, за исключением m11 и m22 (указывающих масштаб) и m33, которые установлены в 1.

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

QTransform &QTransform::operator=(const QTransform &matrix)

Присваивает значения данной matrix этой матрице.

qreal QTransform::m11() const

Возвращает коэффициент горизонтального масштабирования.

См. также scale() и Основные операции с матрицами.

qreal QTransform::m12() const

Возвращает коэффициент вертикального сдвига.

См. также shear() и Основные операции с матрицами.

qreal QTransform::m13() const

Возвращает коэффициент горизонтальной проекции.

См. также translate() и Основные операции с матрицами.

qreal QTransform::m21() const

Возвращает коэффициент горизонтального сдвига.

См. также shear() и Основные операции с матрицами.

qreal QTransform::m22() const

Возвращает коэффициент вертикального масштабирования.

См. также scale() и Основные операции с матрицами.

qreal QTransform::m23() const

Возвращает коэффициент вертикальной проекции.

См. также translate() и Основные операции с матрицами.

qreal QTransform::m31() const

Возвращает коэффициент горизонтального сдвига.

См. также dx(), translate() и Основные операции с матрицами.

qreal QTransform::m32() const

Возвращает коэффициент вертикального сдвига.

См. также dy(), translate() и Основные операции с матрицами.

qreal QTransform::m33() const

Возвращает коэффициент деления.

См. также translate() и Основные операции с матрицами.

QTransform QTransform::adjoint() const

Возвращает присоединённую матрицу.

qreal QTransform::determinant() const

Возвращает определитель матрицы.

qreal QTransform::dx() const

Возвращает коэффициент горизонтального сдвига.

См. также m31(), translate() и Основные операции с матрицами.

qreal QTransform::dy() const

Возвращает коэффициент вертикального сдвига.

См. также translate() и Основные операции с матрицами.

[static] QTransform QTransform::fromScale(qreal sx, qreal sy)

Создаёт матрицу, соответствующую масштабированию по горизонтали на sx и по вертикали на sy. Это то же самое, что QTransform().scale(sx, sy), но немного быстрее.

[static] QTransform QTransform::fromTranslate(qreal dx, qreal dy)

Создаёт матрицу, соответствующую сдвигу на dx по оси x и на dy по оси y. Это то же самое, что QTransform().translate(dx, dy), но немного быстрее.

QTransform QTransform::inverted(bool *invertible = nullptr) const

Возвращает инвертированную копию этой матрицы.

Если матрица является вырожденной (не обратимой), возвращается единичная матрица. Если invertible допустим (т.е. не 0), его значение устанавливается в true, если матрица обратима, в противном случае — в false.

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

bool QTransform::isAffine() const

Возвращает true, если матрица представляет аффинное преобразование, в противном случае возвращает false.

bool QTransform::isIdentity() const

Возвращает true, если матрица является единичной матрицей, в противном случае возвращает false.

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

bool QTransform::isInvertible() const

Возвращает true, если матрица обратима, в противном случае возвращает false.

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

bool QTransform::isRotating() const

Возвращает true, если матрица представляет какой-либо вид вращательного преобразования, в противном случае возвращает false.

Примечание: вращательное преобразование на 180 градусов и/или 360 градусов рассматривается как масштабирующее преобразование.

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

bool QTransform::isScaling() const

Возвращает true если матрица представляет масштабирование, в противном случае возвращает false.

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

bool QTransform::isTranslating() const

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

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

void QTransform::map(qreal x, qreal y, qreal *tx, qreal *ty) const

Преобразует заданные координаты x и y в систему координат, определённую этой матрицей. Результаты записываются в *tx и *ty соответственно.

Координаты преобразуются по следующим формулам:

x' = m11*x + m21*y + dx
y' = m22*y + m12*x + dy
if (!isAffine()) {
    w' = m13*x + m23*y + m33
    x' /= w'
    y' /= w'
}

Точка (x, y) — исходная точка, а (x', y') — преобразованная точка.

См. также Основные операции с матрицами.

QPoint QTransform::map(const QPoint &point) const

Это перегруженный метод.

Создаёт и возвращает объект QPoint, являющийся копией заданной точки point, преобразованной в систему координат, определённую этой матрицей. Обратите внимание, что преобразованные координаты округляются до ближайшего целого числа.

QPointF QTransform::map(const QPointF &p) const

Это перегруженный метод.

Создаёт и возвращает объект QPointF, являющийся копией заданной точки p, преобразованной в систему координат, определённую этой матрицей.

QLine QTransform::map(const QLine &l) const

Это перегруженный метод.

Создаёт и возвращает объект QLineF, являющийся копией заданной прямой l, преобразованной в систему координат, определённую этой матрицей.

QLineF QTransform::map(const QLineF &line) const

Это перегруженный метод.

Создаёт и возвращает объект QLine, являющийся копией заданной прямой line, преобразованной в систему координат, определённую этой матрицей. Обратите внимание, что преобразованные координаты округляются до ближайшего целого числа.

QPolygonF QTransform::map(const QPolygonF &polygon) const

Это перегруженный метод.

Создаёт и возвращает объект QPolygonF, являющийся копией заданного многоугольника polygon, преобразованного в систему координат, определённую этой матрицей.

QPolygon QTransform::map(const QPolygon &polygon) const

Это перегруженный метод.

Создаёт и возвращает объект QPolygon, являющийся копией заданного многоугольника polygon, преобразованного в систему координат, определённую этой матрицей. Обратите внимание, что преобразованные координаты округляются до ближайшего целого числа.

QRegion QTransform::map(const QRegion &region) const

Это перегруженный метод.

Создаёт и возвращает объект QRegion, являющийся копией заданной области region, преобразованной в систему координат, определённую этой матрицей.

Вызов этого метода может быть достаточно дорогим, если используются повороты или сдвиги.

QPainterPath QTransform::map(const QPainterPath &path) const

Это перегруженный метод.

Создаёт и возвращает объект QPainterPath, являющийся копией заданной кривой path, преобразованной в систему координат, определённую этой матрицей.

void QTransform::map(int x, int y, int *tx, int *ty) const

Это перегруженный метод.

Преобразует заданные координаты x и y в систему координат, определённую этой матрицей. Результаты записываются в *tx и *ty соответственно. Обратите внимание, что преобразованные координаты округляются до ближайшего целого числа.

QRectF QTransform::mapRect(const QRectF &rectangle) const

Создаёт и возвращает объект QRectF, являющийся копией заданного прямоугольника rectangle, преобразованного в систему координат, определённую этой матрицей.

Координаты прямоугольника преобразуются по следующим формулам:

x' = m11*x + m21*y + dx
y' = m22*y + m12*x + dy
if (!isAffine()) {
    w' = m13*x + m23*y + m33
    x' /= w'
    y' /= w'
}

Если заданы поворот или сдвиг, эта функция возвращает охватывающий прямоугольник. Чтобы получить точную область, в которую отображается заданный прямоугольник, используйте функцию mapToPolygon().

См. также mapToPolygon() и Основные операции с матрицами.

QRect QTransform::mapRect(const QRect &rectangle) const

Это перегруженный метод.

Создаёт и возвращает объект QRect, являющийся копией заданного прямоугольника rectangle, преобразованного в систему координат, определённую этой матрицей. Обратите внимание, что преобразованные координаты округляются до ближайшего целого числа.

QPolygon QTransform::mapToPolygon(const QRect &rectangle) const

Создаёт и возвращает представление заданного прямоугольника rectangle в виде многоугольника QPolygon, преобразованного в систему координат, определённую этой матрицей.

Координаты прямоугольника преобразуются по следующим формулам:

x' = m11*x + m21*y + dx
y' = m22*y + m12*x + dy
if (!isAffine()) {
    w' = m13*x + m23*y + m33
    x' /= w'
    y' /= w'
}

Многоугольники и прямоугольники ведут себя немного по-разному при преобразовании (из-за округления целых чисел), поэтому matrix.map(QPolygon(rectangle)) не всегда совпадает с matrix.mapToPolygon(rectangle).

См. также mapRect() и Основные операции с матрицами.

[static] bool QTransform::quadToQuad(const QPolygonF &one, const QPolygonF &two, QTransform &trans)

Создаёт матрицу преобразования trans, которая отображает четырёхугольник one на четырёхугольник two. Возвращает true если преобразование возможно; в противном случае возвращает false.

Это вспомогательный метод, объединяющий методы quadToSquare() и squareToQuad(). Он позволяет преобразовывать заданный четырёхугольник в любой другой четырёхугольник.

См. также squareToQuad() и quadToSquare().

[static] bool QTransform::quadToSquare(const QPolygonF &quad, QTransform &trans)

Создаёт матрицу преобразования trans, которая отображает четырёхугольник quad на единичный квадрат. Возвращает true если преобразование построено, в противном случае — false.

См. также squareToQuad() и quadToQuad().

void QTransform::reset()

Сбрасывает матрицу в единичную матрицу, т. е. все элементы устанавливаются в ноль, за исключением m11 и m22 (указывающие масштаб), и m33, которые устанавливаются в 1.

См. также QTransform(), isIdentity() и Основные операции с матрицами.

QTransform &QTransform::rotate(qreal angle, Qt::Axis axis = Qt::ZAxis)

Поворачивает систему координат против часовой стрелки на заданный угол angle относительно указанной оси axis и возвращает ссылку на матрицу.

Обратите внимание, что если вы применяете QTransform к точке, определённой в координатах виджета, направление поворота будет по часовой стрелке, так как ось y направлена вниз.

Угол задаётся в градусах.

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

QTransform &QTransform::rotateRadians(qreal angle, Qt::Axis axis = Qt::ZAxis)

Поворачивает систему координат против часовой стрелки на заданный угол angle относительно указанной оси axis и возвращает ссылку на матрицу.

Обратите внимание, что если вы применяете QTransform к точке, определённой в координатах виджета, направление поворота будет по часовой стрелке, так как ось y направлена вниз.

Угол задаётся в радианах.

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

QTransform &QTransform::scale(qreal sx, qreal sy)

Масштабирует систему координат по оси x на sx и по оси y на sy, возвращая ссылку на матрицу.

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

void QTransform::setMatrix(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33)

Устанавливает элементы матрицы в указанные значения, m11, m12, m13 m21, m22, m23 m31, m32 и m33. Обратите внимание, что эта функция заменяет предыдущие значения. QTransform предоставляет удобные функции translate(), rotate(), scale() и shear() для манипулирования различными элементами матрицы на основе текущей системы координат.

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

QTransform &QTransform::shear(qreal sh, qreal sv)

Сдвигает систему координат на sh по горизонтали и sv по вертикали и возвращает ссылку на матрицу.

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

[static] bool QTransform::squareToQuad(const QPolygonF &quad, QTransform &trans)

Создаёт матрицу преобразования, trans, которая отображает единичный квадрат на четырёхугольник, quad. Возвращает true если преобразование построено или false, если такое преобразование не существует.

См. также quadToSquare() и quadToQuad().

QTransform &QTransform::translate(qreal dx, qreal dy)

Перемещает систему координат на dx вдоль оси x и dy вдоль оси y и возвращает ссылку на матрицу.

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

QTransform QTransform::transposed() const

Возвращает транспонированную матрицу.

QTransform::TransformationType QTransform::type() const

Возвращает тип преобразования этой матрицы.

Тип преобразования — это максимальное значение перечисления, охватывающее все преобразования матрицы. Например, если матрица и масштабирует, и сдвигает, тип будет TxShear, потому что TxShear имеет более высокое значение перечисления, чем TxScale.

Знание типа преобразования матрицы полезно для оптимизации: вы часто можете обрабатывать определённые типы более эффективно, чем обрабатывать общий случай.

QVariant QTransform::operator QVariant() const

Возвращает преобразование в виде QVariant.

bool QTransform::operator!=(const QTransform &matrix) const

Возвращает true если эта матрица не равна заданной matrix, в противном случае возвращает false.

QTransform QTransform::operator*(const QTransform &matrix) const

Возвращает результат умножения этой матрицы на заданную matrix.

Обратите внимание, что умножение матриц не коммутативно, т.е. a*b != b*a.

QTransform &QTransform::operator*=(const QTransform &matrix)

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

Возвращает результат умножения этой матрицы на заданную matrix.

QTransform &QTransform::operator*=(qreal scalar)

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

Возвращает результат поэлементного умножения этой матрицы на заданный scalar.

QTransform &QTransform::operator+=(qreal scalar)

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

Возвращает матрицу, полученную путем добавления заданного scalar к каждому элементу этой матрицы.

QTransform &QTransform::operator-=(qreal scalar)

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

Возвращает матрицу, полученную путем вычитания заданного scalar из каждого элемента этой матрицы.

QTransform &QTransform::operator/=(qreal scalar)

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

Возвращает результат поэлементного деления этой матрицы на заданный scalar.

bool QTransform::operator==(const QTransform &matrix) const

Возвращает true если эта матрица равна заданной matrix, в противном случае возвращает false.

Связанные нечлены

bool qFuzzyCompare(const QTransform &t1, const QTransform &t2)

Возвращает true если t1 и t2 равны, учитывая небольшую погрешность при сравнении чисел с плавающей точкой; в противном случае возвращает false.

[since 5.6] size_t qHash(const QTransform &key, size_t seed = 0)

Возвращает значение хэша для key, используя seed для инициализации расчёта.

Эта функция была добавлена в Qt 5.6.

QPoint operator*(const QPoint &point, const QTransform &matrix)

Это то же самое, что и matrix.map(point).

См. также QTransform::map().

QPointF operator*(const QPointF &point, const QTransform &matrix)

Аналогично matrix.map(point).

См. также QTransform::map().

QLineF operator*(const QLineF &line, const QTransform &matrix)

Это эквивалентно matrix.map(line).

См. также QTransform::map().

QLine operator*(const QLine &line, const QTransform &matrix)

Это то же самое, что и matrix.map(line).

См. также QTransform::map().

QPolygonF operator*(const QPolygonF &polygon, const QTransform &matrix)

Это эквивалентно matrix.map(polygon).

См. также QTransform::map().

QPolygon operator*(const QPolygon &polygon, const QTransform &matrix)

Это то же самое, что и matrix.map(polygon).

См. также QTransform::map().

QRegion operator*(const QRegion &region, const QTransform &matrix)

Это эквивалентно matrix.map(region).

См. также QTransform::map().

QPainterPath operator*(const QPainterPath &path, const QTransform &matrix)

Это то же самое, что и matrix.map(path).

См. также QTransform::map().

QDataStream &operator<<(QDataStream &stream, const QTransform &matrix)

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

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

QDataStream &operator>>(QDataStream &stream, QTransform &matrix)

Считывает заданную matrix из заданного stream и возвращает ссылку на поток.

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

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

Spec-Zone.ru

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