QSize

QSize类定义了使用整数点的精度的二维对象的大小
头文件:QSize
QMAKE:QT +=core


成员列表

QSize();
QSize(int,int); 
QSize boundedTo(const QSize&)const; 
QSize expandedTo(const QSize&)const; 
int height()const; 
int width()const; 
void setHeight(int);
void setWidth(int);
int& rheight();
int& rwidth();
void scale(int,int,Qt::AspectRatioMode);
void scale(const QSize&,Qt::AspectRatioMode);
QSize scaled(int,int,Qt::AspectRatioMode) const;
QSize scaled(const QSize&,Qt::AspectRatioMode) const;
void transpose();
QSize transposed() const;
bool isEmpty() const;
bool isNull() const;
bool isValid() const;
QSize& operator*=(qreal);
QSize& operator/=(qreal);
QSize& operator+=(const QSize&);
QSize& operator-=(const QSize&);

非成员列表

bool operator!=(const QSize&,const QSize&);
bool operator==(const QSize&,const QSize&);
const QSize operator*(const QSize&,qreal);
const QSize operator*(qreal,const QSize&);
const QSize operator/(const QSize&,qreal);
const QSize operator+(const QSize&,const QSize&);
const QSize operator-(const QSize&,const QSize&);
QDataStream& operator<<(QDataStream&,const QSize&);
QDataStream& operator>>(QDataStream&,const QSize&);

成员函数功能

//构造一个宽与高无效的大小,即宽高=-1;
QSize();

//构造一个宽为width,高为height的大小
QSize(int width,int height); 

//返回一个大小,宽为当前大小与other的最小值,高为当前大小与other的最小值
QSize boundedTo(const QSize& other)const; 
**boundedTo的使用例子**
QSize s;
QSize size1(10,30);
QSize size2(30,10);
s=size1.boundedTo(size2);
//此时s的大小为(10,10);
//返回一个大小,宽为当前大小与other的最大值,高为当前大小与other的最大值
QSize expandedTo(const QSize& other)const; 
**expandedTo的使用例子**
QSize s;
QSize size1(10,30);
QSize size2(30,10);
s=size1.expandedTo(size2);
//此时s的大小为(30,30);
//返回当前大小的高
int height()const; 

//返回当前大小的宽
int width()const; 

//设置当前大小的高为height
void setHeight(int height);

//设置当前大小的宽为width
void setWidth(int width);

//返回当前高度的引用,可用于直接操作大小的高度
int& rheight();
**rheight的使用例子**
QSize size(20,20);
size.rheight()+=20;
//此时size为(20,40);
//返回当前宽度的引用,可用于直接操作大小的宽度
int& rwidth();
**rwidth的使用例子**
QSize size(20,20);
size.rwidth()+=20;
//此时size为(40,20);
//根据指定的模式,将大小缩放为具有给定宽度和高度的矩形,改变自身
//如果mode是Qt::IgnoreAspectRatio,则将大小设置为(width,height)
//如果mode是Qt::KeepAspectRatio,则当前大小将缩放为内部(宽度,高度)尽可能大的矩形,从而保留纵横比。
//如果mode为Qt::KeepAspectRatioByExpanding,则将当前大小缩放为外部(宽度,高度)尽可能小的矩形,保留纵横比。
void scale(int width,int height,Qt::AspectRatioMode mode);
void scale(const QSize& size,Qt::AspectRatioMode mode);
**scale的使用例子**
QSize size(10,12);
size.scale(60,60,Qt::IgnoreAspectRatio);
//此时size为(60,60)

QSize size(10,12);
size.scale(60,60,Qt::KeepAspectRatio);
//此时size为(50,60)

QSize size(10,12);
size.scale(60,60,Qt::KeepAspectRatioByExpanding);
//此时size为(60,72)
//根据指定的模式,返回缩放为具有给定宽度和高度的矩形的大小,即将scale的值返回,不改变自身
QSize scaled(int width,int height,Qt::AspectRatioMode mode) const;
QSize scaled(const QSize& size,Qt::AspectRatioMode mode) const;

//交换宽度和高度值,改变自身
void transpose();

//返回交换宽度和高度后的大小,不改变自身
QSize transposed() const;

//如果宽度或高度小于或等于0返回true,否则返回false
bool isEmpty() const;

//如果宽度和高度均为0,则返回true,否则返回false
bool isNull() const;

//如果宽度或高度大于或等于0返回true,否则返回false
bool isValid() const;

//按比例进行扩大或缩放,即宽,高都乘以q,结果为四舍五入后的整数,返回这个大小的引用
QSize& operator*=(qreal q);

//按比例进行扩大或缩放,即宽,高都除以q,结果为四舍五入后的整数,返回这个大小的引用
QSize& operator/=(qreal q);

//将当前大小的宽,高于size的宽,高进行加法运算,返回加法运算后的大小的引用
QSize& operator+=(const QSize& size);

//将当前大小的宽,高于size的宽,高进行减法运算,返回减法运算后的大小的引用
QSize& operator-=(const QSize& size);

非成员函数功能

//如果size1不等于size2返回true,否则返回false
bool operator!=(const QSize& size1,const QSize& size2);

//如果size1等于size2返回true,否则返回false
bool operator==(const QSize& size1,const QSize& size2);

//返回size*q后的大小
const QSize operator*(const QSize& size,qreal q);

//返回q*size后的大小
const QSize operator*(qreal q,const QSize& size);

//返回size/q后的大小
const QSize operator/(const QSize& size,qreal q);

//返回size1+size2后的大小
const QSize operator+(const QSize& size1,const QSize& size2);

//返回size1-size2后的大小
const QSize operator-(const QSize&,const QSize&);


QDataStream& operator<<(QDataStream&,const QSize&);
QDataStream& operator>>(QDataStream&,const QSize&);
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值