Qt 平常遇到之后自己搜索一些东西的集合(3)

本文介绍了Qt中QPropertyAnimation和QAnimationGroup的使用方法,探讨了QWidget的缩放实现及resizeEvent事件的应用。此外还讲解了QPixmap与QImage的区别、QString的格式化构造方式及QPen和QBrush的基本概念。

1: qt动画的实现方法之 QPropertyAnimation  QAnimationGroup click here

2: qt QWidget实现 缩放 :setAutoBackground(true); 这个属性首先要设置。然后实现resizeEvent()事件

palette.setBrush(QPalette::Window,
                     QBrush(QPixmap(":/image/Image/background.png").scaled(
                                size(),
                                Qt::IgnoreAspectRatio,
                                Qt::SmoothTransformation)));
    setPalette(palette);


然后取到this->size(); 很多关于比例的布局就可以在这里实现 

3: QPixmap 和 QImage的区别  click here

4: 以前没有注意到这样去使用QString  str = QString("%1 %2 (%3s-%4s)").arg("permissive").arg("society").arg(1950).arg(1970); 格式化构造

5: QPen 和 QBrush的区别: QPen是画笔(在限定的矩形区域 画线)QBrush是画刷(可以填充所在区域以各种类型) 


下面这段带注释的代码 是 我觉得很朴实但是很实用的代码 

void zuobiaozhou::paintEvent(QPaintEvent *)
{
int side = qMin(width(), height());                                           //创建窗口宽高参数
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing,true);                //开启抗锯齿
painter.translate(width() / 2, height() / 2);                               //坐标系统平移变换,把原点平移到窗口中心
painter.scale(side / 300.0, side / 300.0);            //坐标系统比例变换,使绘制的图形随窗口的放大而放大
painter.scale(1, -1);                                          //Y轴向上翻转,翻转成正常平面直角坐标系

painter.setPen(QPen(Qt::black, height() / 600));
painter.drawLine(-2000,0,2000,0);
painter.drawLine(0,1500,0,-1500);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值