主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 | ![]() |
QRect类定了平面上的矩形。 详情请见……
#include <qrect.h>
一个矩形在内部是由左上角和右下角表示的,但是通常它所表达到是一个左上角和一个大小。
坐标类型是QCOORD(和int一样在qwindowdefs.h中定义的)。QCOORD的最小值是QCOORD_MIN(-2147483648),最大值是QCOORD_MAX(2147483647)。
注意矩形的大小(宽和高)也许与你通常所用的所有不同。如果左上角和右下角相同,那么这个矩形的宽和高都为1。
通常情况下,width = right - left + 1并且height = bottom - top + 1。我们这样设计是因为这样就可以使矩形空间可以用在绘制函数中,它的宽高就说明了所要绘制的象素。例如,我们画一个宽和高都为1的矩形为一个单一点象素。
默认坐标系统的原点(0,0)在左上角。y轴的正方向向下,并且x轴的正方向从左到右。
一个QRect可以用一组上、左、宽、高四个整数,或者从两个QPoint或者从一个QPoint和一个QSize来构造。创建之后,空间可以被改变,比如使用setLeft()、setRight()、setTop()和setBottom(),或者通过设置,比如setWidth()、setHeight()和setSize()。空间也可以通过移动函数来改变,比如moveBy()、moveCenter()和moveBottomRight()等等。你也可以用addCoords()给矩形加上坐标。
你也可以通过contains()测试来看一个QRect是否包含一个特定点。你也可以通过intersects()测试来看两个QRect是否相交(也可以参考intersect())。可以使用unite()来获得两个QRect的边界长方形。
构造一个无效的矩形。
构造一个上、左、宽、高分别为top、left、width和height的矩形。
实例(创建三个同样的矩形):
QRect r1( QPoint(100,200), QPoint(110,215) ); QRect r2( QPoint(100,200), QSize(11,16) ); QRect r3( 100, 200, 11, 16 );
返回矩形的下坐标。
也可以参考top()、setBottom()、bottomLeft()和bottomRight()。
实例:desktop/desktop.cpp、helpviewer/helpwindow.cpp、qfd/fontdisplayer.cpp、scribble/scribble.cpp和themes/wood.cpp。
返回矩形的左下位置。
也可以参考moveBottomLeft()、bottomRight()、topLeft()、topRight()、bottom()和left()。
返回矩形的右下位置。
也可以参考moveBottomRight()、bottomLeft()、topLeft()、topRight()、bottom()和right()。
返回矩形中心点。
也可以参考moveCenter()、topLeft()、topRight()、bottomLeft()和bottomRight()。
如果proper为真,这个函数只有在p在矩形里面时(不在边界上)的情况下,返回真。
实例:t14/cannon.cpp。
如果点x、y在矩形内,返回真,否则返回假。
如果proper为真,这个函数只有在p在矩形里面时(不在边界上)的情况下,返回真。
如果矩形r在这个矩形里面,返回真,否则返回假。
如果proper为真,这个函数只有在p在矩形里面时(不在边界上)的情况下,返回真。
也可以参考unite()、intersect()和intersects()。
实例:themes/metal.cpp和themes/wood.cpp。
返回矩形的高。这个高包括左和下边界,比如height = bottom - top + 1。
也可以参考width()、size()和setHeight()。
实例:aclock/aclock.cpp、desktop/desktop.cpp、movies/main.cpp、scribble/scribble.cpp、themes/metal.cpp、themes/wood.cpp和xform/xform.cpp。
实例:t11/cannon.cpp、t12/cannon.cpp、t13/cannon.cpp和t14/cannon.cpp。
如果这个矩形是空的,返回真,否则返回假。
一个空的矩形的left()>right()或者top()>bottom()。
一个空矩形是无效的。isEmpty()==!isValid()
如果一个矩形是零矩形,返回真,否则返回假。
一个零矩形的宽和高都设置为0,并且right()==left()-1并且bottom()==top()-1。
注意如果right()==left()并且bottom()==top(),那么这个矩形的宽和高都为1。
一个零矩形也是空的。
一个零矩形是无效的。
Returns TRUE if the rectangle is valid or FALSE if it is invalid (empty)。 如果一个矩形是有效的,反会诊,否则如果它是无效的(空的)就返回假。
一个有效的矩形中,left()<=right()和top()<=bottom()。
isValid()==!isEmpty()
也可以参考isNull()、isEmpty()和normalize()。
实例:themes/metal.cpp和tooltip/tooltip.cpp。
返回矩形的左坐标.与x()相同.
也可以参考x()、top()、right()、setLeft()、topLeft()和bottomLeft()。
实例:aclock/aclock.cpp、desktop/desktop.cpp、qfd/fontdisplayer.cpp、scribble/scribble.cpp、tictac/tictac.cpp和xform/xform.cpp。
也可以参考bottomLeft()、moveBottomRight()、moveTopLeft()、moveTopRight()、setBottom()和setLeft()。
实例:t10/cannon.cpp。
也可以参考bottomRight()、moveBottomLeft()、moveTopLeft()、moveTopRight()、setBottom()和setRight()。
实例:helpviewer/helpwindow.cpp、themes/wood.cpp和xform/xform.cpp。
也可以参考center()、moveTopLeft()、moveTopRight()、moveBottomLeft()和moveBottomRight()。
实例:t11/cannon.cpp和t12/cannon.cpp。
也可以参考topLeft()、moveTopRight()、moveBottomLeft()、moveBottomRight()、setTop()和setLeft()。
实例:xform/xform.cpp。
也可以参考topRight()、moveTopLeft()、moveBottomLeft()、moveBottomRight()、setTop()和setRight()。
如果left()>right(),交换左右,并且如果top()>bottom(),交换上下。
也可以参考isValid()。
如果没有交集,返回一个空矩形。
也可以参考operator&=()、operator|()、isEmpty()、intersects()和contains()。
一个非空矩形和一个空矩形或者一个无效矩形的边界矩形定义为一个非空矩形。
也可以参考operator|=()、operator&()、intersects()和contains()。
返回矩形的下坐标引用。
返回矩形的左坐标引用。
也可以参考rTop()、rRight()和rBottom()。
返回矩形的右坐标引用。
也可以参考rLeft()、rTop()和rBottom()。
返回矩形的上坐标引用。
也可以参考rLeft()、rRight()和rBottom()。
实例:themes/metal.cpp和themes/wood.cpp。
返回矩形的右坐标。
也可以参考left()、setRight()、topRight()和bottomRight()。
实例:customlayout/flow.cpp、desktop/desktop.cpp、helpviewer/helpwindow.cpp、qfd/fontdisplayer.cpp、scribble/scribble.cpp、t11/cannon.cpp和themes/wood.cpp。
设置矩形的下边缘为pos。也许改变高度,但决不会改变矩形的上边缘。
也可以参考bottom()、setTop()和setHeight()。
也可以参考height()、setTop()、setBottom()和setSize()。
设置矩形的左边缘为pos。也许改变宽度,但决不会改变矩形的右边缘。
与setX()一样。
也可以参考left()、setTop()和setWidth()。
实例:themes/wood.cpp。
设置矩形的右边缘为pos。也许改变宽度,但决不会改变矩形的左边缘。
也可以参考right()、setLeft()和setWidth()。
也可以参考size()、setWidth()和setHeight()。
实例:xform/xform.cpp。
设置矩形的上边缘为pos。也许改变高度,但决不会改变矩形的下边缘。
与setY()一样。
也可以参考top()、setBottom()和setHeight()。
也可以参考width()、setLeft()、setRight()和setSize()。
设置矩形的x位置(它的左边)为x。也许会改变宽度,但是不会改变矩形的右边界。
与setLeft()一样。
设置矩形的y位置(它的上边)为y。也许会改变高度,但是不会改变矩形的下边界。
与setTop()一样。
返回矩形的大小。
实例:desktop/desktop.cpp、movies/main.cpp和t10/cannon.cpp。
返回矩形的上坐标。与y()一样。
也可以参考y()、left()、bottom()、setTop()、topLeft()和topRight()。
实例:aclock/aclock.cpp、desktop/desktop.cpp、helpviewer/helpwindow.cpp、scribble/scribble.cpp、themes/wood.cpp、tictac/tictac.cpp和xform/xform.cpp。
返回矩形的左上角位置。
也可以参考moveTopLeft()、topRight()、bottomLeft()、bottomRight()、left()和top()。
实例:t10/cannon.cpp和tictac/tictac.cpp。
返回矩形的右上角位置。
也可以参考moveTopRight()、topLeft()、bottomLeft()、bottomRight()、top()和right()。
实例:t11/cannon.cpp、t12/cannon.cpp和xform/xform.cpp。
返回矩形的宽度。宽度包括左和右边界,比如width = right - left + 1。
也可以参考height()、size()和setHeight()。
实例:aclock/aclock.cpp、customlayout/border.cpp、desktop/desktop.cpp、movies/main.cpp、themes/metal.cpp、themes/wood.cpp和xform/xform.cpp。
返回矩形的左坐标。与left()一样。
实例:customlayout/border.cpp、desktop/desktop.cpp、movies/main.cpp、scribble/scribble.cpp、t12/cannon.cpp、themes/metal.cpp和themes/wood.cpp。
返回矩形的上坐标。与top()一样。
实例:desktop/desktop.cpp、movies/main.cpp、scribble/scribble.cpp、t12/cannon.cpp、t14/cannon.cpp、themes/metal.cpp和themes/wood.cpp。
如果r1和r2不同,返回真,否则返回假。
写这个QRectr到流s中,并且返回这个流的引用。
也可以参考QDataStream操作符的格式。
如果r1和r2相等,返回真,否则返回假。
从流s读一个QRect到r中,并且返回这个流的引用。
也可以参考QDataStream操作符的格式。
这个文件是Qt工具包一部分。 版权所有 © 1995-2002 Trolltech。保留所有权利。
Copyright © 2002 Trolltech | Trademarks | 译者:Cavendish | Qt 3.0.5版
|