QSize
这个精度是整型的
QSize定义了一个二维大小,包含宽度(width)和高度(height);
显然,一个QSize有三个函数:宽width(),高height(),比例scale()
可以获取一个已存在的QSize的引用,rwidth(),rheight()
QSizeF
这个精度是float型的
其他功能同上
QPoint
这个精度是整型的
在坐标系中,定义了一个点,分为x轴和y轴,访问x坐标用x(),访问y坐标用y(),同样的你可以设置他哟。。通过setX(),setY(),获取坐标的引用,rx(),y()(允许直接修改),你还可以对这个坐标进行加减乘除
QPointF
这个精度是float型的
其他同上
QRect
构建:在一个平面内提供了矩形定义,通过一个QPoint和一个QSize来定义一个QRect;下面两个例子是构建相同的矩形;
QRect r1(10,10,20,12); QRect r2(QPoint(10,10),QSize(20,12));
如下图,qt中的图形坐标如下,箭头方向代表positive value
有两个函数也可以构建一个矩形,但是不推荐,bottom()获取下边界的坐标,right()获取右边界的坐标;
当要移动一个矩形的时候,可以使用moveTo(intx,int y),这里的x和y是绝对坐标,宽度和高度不变;也可以使用translate(int dx,int dy),移动一个offset,相对坐标;translated(int dx,int dy)移动一个矩形的copy版本;
大小:size()返回一个QSize的大小,也可以用width(),height();设置当然就是setSize(),setWidth(),setHeight();也可以是用setBottom(),setRight();
交叉:contains(const QPoint & point, boolproper = false),这个函数告诉你是否在这个矩形中包含某一点point;intersects(const QRect & rectangle)告诉你是否两个矩形交叉;intersected(QRect)返回交叉区域;united(QRect)返回交叉之后两个矩形占的最大区域;
Intersected united
要获取一个矩形的坐标,getCoords(int *x1,int *y1,int *x2,int *y2);得到其实坐标和长宽,getRect(int x,int y,int width,int height)
QPolygon
提供坐标的矢量定义