QPoint类

Qt 3.0.5

主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数

QPoint类参考

QPoint类定义了平面上的一个点。 详情请见……

#include <qpoint.h>

所有成员函数的列表。

公有成员

相关函数

  • bool operator== ( const QPoint & p1, const QPoint & p2 )
  • bool operator!= ( const QPoint & p1, const QPoint & p2 )
  • const QPoint operator+ ( const QPoint & p1, const QPoint & p2 )
  • const QPoint operator- ( const QPoint & p1, const QPoint & p2 )
  • const QPoint operator* ( const QPoint & p, int c )
  • const QPoint operator* ( int c, const QPoint & p )
  • const QPoint operator* ( const QPoint & p, double c )
  • const QPoint operator* ( double c, const QPoint & p )
  • const QPoint operator- ( const QPoint & p )
  • const QPoint operator/ ( const QPoint & p, int c )
  • const QPoint operator/ ( const QPoint & p, double c )
  • QDataStream & operator<< ( QDataStream & s, const QPoint & p )
  • QDataStream & operator>> ( QDataStream & s, QPoint & p )

详细描述

QPoint类定义了平面上的一个点。

一个点由一个x坐标和一个y坐标确定。

坐标类型是QCOORD(一个32位整数)。QCOORD的最小值是QCOORD_MIN(-2147483648),最大值是QCOORD_MAX(2147483647)。

坐标可以通过函数x()和y()来访问,它们可以由setX()和setY()来设置并且由rx()由ry()来参考。

假设一个点p,下面的语句都是等价的:

        p.setX( p.x() + 1 );
        p += QPoint( 1, 0 );
        p.rx()++;
    

一个QPoint也可以用作是一个矢量。QPoint的加法和减法也像矢量一样定义了(每个分量分别的被相加或者相减)。你可以把一个QPoint与一个int或者一个double做乘法或者除法。函数manhattanLength()像对矢量那样给出了QPoint一个比较廉价的长度接近值的说明。

Example:

        //QPoint oldPos在其它什么地方定义过了
        MyWidget::mouseMoveEvent( QMouseEvent *e )
        {
            QPoint vector = e->pos() - oldPos;
            if ( vector.manhattanLength() > 3 )
            ... //鼠标从oldPos移动超过3个象素
        }
    

QPoint可以进行比较得出相等或者不等,并且它们可以写到QStream或者从QStream中读出。

也可以参考QPointArrayQSizeQRect图形类图像处理类


成员函数文档

QPoint::QPoint ()

构造一个坐标为(0,0)的点(isNull()返回真)。

QPoint::QPoint ( int xpos, int ypos )

构造一个x值为xpos,y值为ypos的点。

bool QPoint::isNull () const

如果x值和y值都是0的话,返回真,否则返回假。

int QPoint::manhattanLength () const

返回x()和y()的绝对值得和,就是传统上的从原点开始的矢量的“曼哈顿长度”。这个传统的出现是因为这样的距离适用于在矩形方格上旅行的履行者们,就像曼哈顿的街道一样。

这个很有用的,并且运算很快,和真实长度sqrt(pow(x(),2)+pow(y(),2))很接近。

QPoint & QPoint::operator*= ( int c )

c与这个点的x和y做乘法,并且返回这个点的引用。

实例:

        QPoint p( -1, 4 );
        p *= 2;            // p变成了(-2,8)
    

QPoint & QPoint::operator*= ( double c )

这是一个重载成员函数,提供了方便。它的行为和上面的函数基本一致。

c与这个点的x和y做乘法,并且返回这个点的引用。

实例:

        QPoint p( -1, 4 );
        p *= 2.5;          // p变成了(-3,10)
    

注意这个结果被取整了,因为点是用整数保存的。

QPoint & QPoint::operator+= ( const QPoint & p )

把点p加到这个点上,并且返回这个点的引用。

实例:

        QPoint p(  3, 7 );
        QPoint q( -1, 4 );
        p += q;            // p变成了(2,11)
    

QPoint & QPoint::operator-= ( const QPoint & p )

从这个点上减去点p,并且返回这个点的引用。

实例:

        QPoint p(  3, 7 );
        QPoint q( -1, 4 );
        p -= q;            // p变成了(4,3)
    

QPoint & QPoint::operator/= ( int c )

x和y都除以c,并且返回这个点的引用。

实例:

        QPoint p( -2, 8 );
        p /= 2;            // p变成了(-1,4)
    

QPoint & QPoint::operator/= ( double c )

这是一个重载成员函数,提供了方便。它的行为和上面的函数基本一致。

x和y都除以c,并且返回这个点的引用。

实例:

        QPoint p( -3, 10 );
        p /= 2.5;           // p变成了(-1,4)
    

注意这个结果被取整了,因为点是用整数保存的。

QCOORD & QPoint::rx ()

返回这个点的x坐标的引用。

使用这个引用可以直接操作x。

实例:

        QPoint p( 1, 2 );
        p.rx()--;         // p变成了(0, 2)
    

也可以参考ry()。

QCOORD & QPoint::ry ()

返回这个点的y坐标的引用。

使用这个引用可以直接操作y。

实例:

        QPoint p( 1, 2 );
        p.ry()++;         // p变成了(1, 3)
    

也可以参考rx()。

void QPoint::setX ( int x )

设置这个点的x坐标为x

也可以参考x()和setY()。

实例:t14/cannon.cpp

void QPoint::setY ( int y )

设置这个点的y坐标为y

也可以参考y()和setX()。

实例:t14/cannon.cpp

int QPoint::x () const

返回这个点的x坐标。

也可以参考setX()和y()。

实例:canvas/canvas.cppchart/canvasview.cppdirview/dirview.cppfileiconview/qfileiconview.cpplife/life.cppt14/cannon.cppthemes/wood.cpp

int QPoint::y () const

返回这个点的y坐标。

也可以参考setY()和x()。

实例:canvas/canvas.cppchart/canvasview.cppfileiconview/qfileiconview.cpplife/life.cppt14/cannon.cppthemes/wood.cpp


相关函数

bool operator!= ( const QPoint & p1, const QPoint & p2 )

如果p1p2相等,返回真,否则返回假。

const QPoint operator* ( const QPoint & p, int c )

返回由p的分量和c相乘构成的QPoint。

const QPoint operator* ( int c, const QPoint & p )

这是一个重载成员函数,提供了方便。它的行为和上面的函数基本一致。

返回由p的分量和c相乘构成的QPoint。

const QPoint operator* ( const QPoint & p, double c )

这是一个重载成员函数,提供了方便。它的行为和上面的函数基本一致。

返回由p的分量和c相乘构成的QPoint。

注意这个结果被取整了,因为点是用整数保存的。

const QPoint operator* ( double c, const QPoint & p )

这是一个重载成员函数,提供了方便。它的行为和上面的函数基本一致。

返回由p的分量和c相乘构成的QPoint。

注意这个结果被取整了,因为点是用整数保存的。

const QPoint operator+ ( const QPoint & p1, const QPoint & p2 )

返回p1p2的和,每个分量都分别相加。

const QPoint operator- ( const QPoint & p1, const QPoint & p2 )

返回p1减去p2得到的结果,每个分量都分别相减。

const QPoint operator- ( const QPoint & p )

这是一个重载成员函数,提供了方便。它的行为和上面的函数基本一致。

返回p每个分量都变号后构成的QPoint,和QPoint(0,0) - p是一样的。

const QPoint operator/ ( const QPoint & p, int c )

返回p每个分量除以c后构成的QPoint。

const QPoint operator/ ( const QPoint & p, double c )

这是一个重载成员函数,提供了方便。它的行为和上面的函数基本一致。

返回p每个分量除以c后构成的QPoint。

注意这个结果被取整了,因为点是用整数保存的。

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

把点p写到流s中并且返回流的引用。

也可以参考QDataStream操作符的格式

bool operator== ( const QPoint & p1, const QPoint & p2 )

如果p1p2相等,返回真,否则返回假。

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

从流s中读取一个QPoint到点p并且返回这个流的引用。

也可以参考QDataStream操作符的格式


这个文件是Qt工具包一部分。 版权所有 © 1995-2002 Trolltech。保留所有权利。


Copyright © 2002 Trolltech Trademarks 译者:Cavendish
Qt 3.0.5版