QTransform类
QTransform类指定了坐标系的2D变换。更多...
头文件 | #include <QTransform> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
- 所有成员列表,包括继承的成员
- QTransform是绘图类的一部分。
公共类型
枚举 | TransformationType { TxNone, TxTranslate, TxScale, TxRotate, TxShear, TxProject } |
公共函数
QTransform() | |
QTransform(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33) | |
QTransform(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy) | |
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 | determinant() const |
qreal | dx() const |
qreal | dy() const |
QTransform | inverted(bool *invertible = nullptr) const |
bool | isAffine() const |
bool | isIdentity() const |
bool | isInvertible() const |
bool | isRotating() const |
bool | isScaling() const |
bool | isTranslating() const |
void | map(qreal x, qreal y, qreal *tx, qreal *ty) const |
QPoint | map(const QPoint &point) const |
QPointF | map(const QPointF &p) const |
QLine | map(const QLine &l) const |
QLineF | map(const QLineF &line) const |
QPolygonF | map(const QPolygonF &polygon) const |
QPolygon | map(const QPolygon &polygon) const |
QRegion | map(const QRegion ®ion) const |
QPainterPath | map(const QPainterPath &path) const |
void | map(int x, int y, int *tx, int *ty) const |
QRectF | mapRect(const QRectF &rectangle) const |
QRect | mapRect(const QRect &rectangle) const |
QPolygon | mapToPolygon(const QRect &rectangle) const |
void | reset() |
(since 6.5) QTransform & | rotate(qreal a, Qt::Axis axis, qreal distanceToPlane) |
QTransform & | rotate(qreal a, Qt::Axis axis = Qt::ZAxis) |
(since 6.5) QTransform & | rotateRadians(qreal a, Qt::Axis axis, qreal distanceToPlane) |
QTransform & | rotateRadians(qreal a, Qt::Axis axis = Qt::ZAxis) |
QTransform & | scale(qreal sx, qreal sy) |
void | setMatrix(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33) |
QTransform & | shear(qreal sh, qreal sv) |
QTransform & | translate(qreal dx, qreal dy) |
QTransform | transposed() const |
QTransform::TransformationType | type() const |
QVariant | operator QVariant() const |
bool | operator!=(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) |
QTransform & | operator=(const QTransform &matrix) |
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 ®ion, 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 类支持图形基本元素的映射:给定的点、线、多边形、区域或绘图路径可以使用 map() 函数映射到由 this 矩阵定义的坐标系中。对于矩形,可以使用 mapRect() 函数 transformed 其坐标。矩形还可以使用 mapToPolygon() 函数转换为 多边形(映射到由 this 矩阵定义的坐标系)。
QTransform 提供了 isIdentity() 函数,如果矩阵是单位矩阵,它返回 true
;以及 isInvertible() 函数,如果矩阵非奇异(即 AB = BA = I),它返回 true
。如果该矩阵可逆,inverted() 函数返回 this 矩阵的逆副本(否则返回单位矩阵),而 adjoint() 返回矩阵的古典伴随矩阵。此外,QTransform 提供了 determinant() 函数,它返回矩阵的行列式。
最后,QTransform 类支持矩阵乘法、加法和减法,并且该类对象可以流式传输以及进行比较。
渲染图形
在渲染图形时,矩阵定义了变换,但实际的变换是通过 QPainter 中的绘图例程执行的。
默认情况下,QPainter 在关联设备自己的坐标系上操作。一个 QPaintDevice 的标准坐标系有其原点位于左上角的位置。对于 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')可以通过在inverted()矩阵上执行相同的操作转换回(x, y)。
在构建矩阵时可以设置各种矩阵元素,或者稍后使用setMatrix()函数。它们还可以通过使用translate(),rotate(),scale和shear()便利函数进行操作。可以使用m11(),m12(),m13(),m21(),m22(),m23(),m31(),m32(),m33(),dx()和dy()函数检索当前设置的值。
平移是最简单的变换。设置dx
和dy
将沿着X轴移动dx
个单位,沿着Y轴移动dy
个单位。可以通过设置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相反的顺序乘以组成组合变换的矩阵,正如您在Combining Transforms中看到的那样。将矩阵转置并与表示点的行向量右侧组合,使得变换的矩阵在乘以其产品的顺序中,按照我们想象将变换应用于点的顺序出现。
另请参阅QPainter, 坐标系, 仿射变换示例和变换示例。
成员类型文档
enum QTransform::TransformationType
常量 | 值 |
---|---|
QTransform::TxNone | 0x00 |
QTransform::TxTranslate | 0x01 |
QTransform::TxScale | 0x02 |
QTransform::TxRotate | 0x04 |
QTransform::TxShear | 0x08 |
QTransform::TxProject | 0x10 |
成员函数文档
QTransform::QTransform()
构造单位矩阵。
所有元素均设置为0,除了 m11
和 m22
(指定比例),它们的值被设为1,以及 m33
,它的值也设置为1。
另请参阅reset。
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(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy)
构造一个具有元素 m11, m12, m21, m22, dx 和 dy 的矩阵。
另请参阅setMatrix。
qreal QTransform::m11() const
返回水平缩放因子。
qreal QTransform::m12() const
返回垂直剪切因子。
qreal QTransform::m13() const
返回水平投影因子。
qreal QTransform::m21() const
返回水平剪切因子。
qreal QTransform::m22() const
返回垂直缩放因子。
qreal QTransform::m23() const
返回垂直投影因子。
qreal QTransform::m31() const
返回水平平移因子。
另请参阅 dx()、translate() 和 基本矩阵运算。
qreal QTransform::m32() const
返回垂直平移因子。
另请参阅 dy()、translate() 和 基本矩阵运算。
qreal QTransform::m33() const
返回除数因子。
QTransform QTransform::adjoint() const
返回此矩阵的伴随矩阵。
qreal QTransform::determinant() const
返回矩阵的行列式。
qreal QTransform::dx() const
返回水平平移因子。
另请参阅 m31()、translate() 和 基本矩阵运算。
qreal QTransform::dy() const
返回垂直平移因子。
[静态]
QTransform QTransform::fromScale(qreal sx, qreal sy)
创建一个矩阵,该矩阵对应于水平方向上的 sx 和垂直方向上的 sy 的缩放。这相当于 QTransform().scale(sx, sy),但更快一些。
[静态]
QTransform QTransform::fromTranslate(qreal dx, qreal dy)
创建一个矩阵,该矩阵对应于沿着 x 轴的 dx 和沿着 y 轴的 dy 的平移。这相当于 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 ®ion) 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' }
如果指定了旋转或剪切,则此函数返回边界矩形。要检索给定rectangle映射的精确区域,请使用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)
相同。
[静态]
bool QTransform::quadToQuad(const QPolygonF &one, const QPolygonF &two, QTransform &trans)
创建一个变换矩阵 trans,将该四边形 one 映射到另一个四边形 two。如果变换是可能的,则返回 true;否则返回 false。
这是一个组合了 quadToSquare() 和 squareToQuad() 方法的便利方法。它允许输入的四边形变换成任何其他四边形。
另请参阅squareToQuad() 和 quadToSquare。
[静态]
bool QTransform::quadToSquare(const QPolygonF &quad, QTransform &trans)
创建一个变换矩阵 trans,将四边形 quad 映射到单位方阵。如果构造变换,则返回 true
,如果不存在这样的变换,则返回 false。
另请参阅squareToQuad() 和 quadToQuad。
void QTransform::reset()
将矩阵重置为单位矩阵,即所有元素都设置为 0,除了 m11
和 m22
(指定缩放)以及 m33
被设置为 1。
另请参阅QTransform,isIdentity 和 基本矩阵操作。
[自 6.5 起]
QTransform &QTransform::rotate(qreal a, Qt::Axis axis, qreal distanceToPlane)
将坐标系统逆时针旋转给定的角度 a,绕指定 axis 和距离 distanceToPlane 进行旋转,并返回矩阵的引用。
注意,如果您将 QTransform 应用到在窗口坐标中定义的点,则旋转方向将是顺时针,因为 y 轴指向下方。
角度以度为单位指定。
如果 distanceToPlane 为零,则忽略它。这对于实现正交投影是合适的,其中应丢弃 z 坐标而不是进行投影。
此函数是在 Qt 6.5 中引入的。
另请参阅setMatrix。
QTransform &QTransform::rotate(qreal a, Qt::Axis axis = Qt::ZAxis)
这是一个重载函数。
将坐标系统逆时针旋转给定的角度 a,绕指定 axis 和距离 1024.0 进行旋转,并返回矩阵的引用。
注意,如果您将 QTransform 应用到在窗口坐标中定义的点,则旋转方向将是顺时针,因为 y 轴指向下方。
角度以度为单位指定。
另请参阅setMatrix。
[自 6.5 起]
QTransform &QTransform::rotateRadians(qreal a, Qt::Axis axis, qreal distanceToPlane)
将坐标系统逆时针旋转给定的角度 a,绕指定 axis 和距离 distanceToPlane 进行旋转,并返回矩阵的引用。
注意,如果您将 QTransform 应用到在窗口坐标中定义的点,则旋转方向将是顺时针,因为 y 轴指向下方。
角度以弧度为单位指定。
如果 distanceToPlane 为零,则忽略它。这对于实现正交投影是合适的,其中应丢弃 z 坐标而不是进行投影。
此函数是在 Qt 6.5 中引入的。
另请参阅setMatrix。
QTransform &QTransform::rotateRadians(double a, Qt::Axis axis = Qt::ZAxis)
这是一个重载函数。
将坐标系统逆时针旋转给定的角度 a,绕指定 axis 和距离 1024.0 进行旋转,并返回矩阵的引用。
注意,如果您将 QTransform 应用到在窗口坐标中定义的点,则旋转方向将是顺时针,因为 y 轴指向下方。
角度以弧度为单位指定。
另请参阅setMatrix。
QTransform &QTransform::scale(double sx, double sy)
按水平方向和垂直方向分别以 sx 和 sy 缩放坐标系,并返回矩阵的引用。
另请参阅setMatrix。
void QTransform::setMatrix(double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33)
将矩阵元素设置为指定的值,即 m11、m12、m13、m21、m22、m23、m31、m32 和 m33。注意,此函数将替换之前的值。《QTransform》提供了一个方便的函数集,包括translate()、rotate()、scale() 和 shear(),用于根据当前定义的坐标系操作矩阵的不同元素。
请参见 QTransform。
QTransform &QTransform::shear(double sh, double sv)
按水平方向 sh 和垂直方向 sv 对坐标系进行倾斜,并返回矩阵的引用。
另请参阅setMatrix。
[静态]
bool QTransform::squareToQuad(const QPolygonF &quad, QTransform &trans)
创建一个变换矩阵 trans,将单位正方形映射到四边形 quad。如果变换可以构造,则返回 true
;如果不存在此类变换,则返回 false。
请参见 quadToSquare() 和 quadToQuad。
QTransform &QTransform::translate(double dx, double dy)
将坐标系沿 x 轴移动 dx 并沿 y 轴移动 dy,并返回矩阵的引用。
另请参阅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
如果此矩阵不等于给定的 matrix,则返回 true
,否则返回 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 执行逐元素除法的结果。
[noexcept]
QTransform &QTransform::operator=(const QTransform &matrix)
将给定 matrix 的值赋给此矩阵。
bool QTransform::operator==(const QTransform &matrix) const
如果此矩阵等于给定的 matrix,则返回 true
,否则返回 false
。
相关非成员
bool qFuzzyCompare(const QTransform &t1, const QTransform &t2)
如果 t1 和 t2 相等,允许浮点比较中有小量的模糊因子;否则返回 false。
[noexcept]
size_t qHash(const QTransform &key, size_t seed = 0)
返回 key 的哈希值,使用 seed 来初始化计算。
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 ®ion, 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)
从给定的 stream 读取给定的 matrix 并返回对流的引用。
另请参阅序列化 Qt 数据类型。
© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。本文档的使用受自由软件基金会发布的GNU 自由文档许可版本 1.3 的条款约束。Qt 及相关标志是芬兰及/或其他国家和地区 The Qt Company Ltd. 的商标。所有其他商标均为各自所有者的财产。