您的位置:首页 > 编程语言 > Qt开发

qt5 -- qt中关于大小的类的学习笔记

2013-06-26 22:18 465 查看
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

提供坐标的矢量定义

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: