Qt | 关于矩形大小的使用 QSize
前言:
QSize 类使用整数类型的值定义一个二维对象的尺寸,即宽和高。一般用来绘制矩形是定义一个矩形的大小,或者表示一个规则控件的大小,都可以用到 QSize。
之前项目中的一个功能,拖动一个控件,如果控件在另一个控件区域内,则将拖动的控件插入到这个控件之前,这时就需要用到两个控件的矩形大小 QSize,需要对两个 QSize、QPoint 进行比较,实现这个功能。
QSize 的相关函数:
判断尺寸是否有效:
isEmpty(); //宽或高 <=0 则为 true,否则为 false。
isNumll(); //宽或高 == 0 则为 true,否则为 false。
isValid(); //宽或高 >= 0 则为 true,否则为 false。
isEmpty()函数是一个常用的函数,除了可以判断 QString、容器是否为空,还可以判断 QSize,当然 QSize 的 isEmpty()的含义略有不同。
宽、高的设置和获取:
setWidth(); //设置宽度
setHeight(); //设置高度
width(); // 获得宽度
height(); // 获得高度
交换宽度和高度:
transpose(); //交换宽度和高度;有两个重载函数,一个改变 QSize 的值,一个不改变 QSize 的值,而是返回一个新的 QSize。
缩放:
scale(); //有四个重载函数,参数不同。也区分是否改变 QSize 的值。
其他:
boundedTo(); //返回自身和参数比较后结合起来的最小尺寸。
expandedTo(); //返回自身和参数比较后结合起来的最大尺寸。
可以*或/一个整数,按比例进行扩大或缩放,即宽高同时乘以或除以一个整数,结果为四舍五入后的整数,返回 QSize 的引用。
可以+或-一个 QSize,将当前大小的宽、高与参数的宽、高进行加法或减法运算,返回加法或减法运算后的值得引用。
版权声明: 本文为 InfoQ 作者【YOLO.】的原创文章。
原文链接:【http://xie.infoq.cn/article/944bcc5ebeb60181f29b7deb7】。未经作者许可,禁止转载。
评论