QT 添加背景图像并图像自适应窗口大小

时间:2019-04-04

背景:这段时间由于项目比较闲,所以前来开发一个QT工具供以后使用,由于个人有“完美追求”因此偏要给工具加上一个漂亮的图像背景。

问题:参考网上许多关于QPalette+QPixmap 或者 用stylesheet实现添加背景图像的,但却未能找到能够图像自适应窗口大小的方式,为此特地拿出来后面找到的QPalette + QImage方式实现添加背景图像,又能自适应大小的方案。

代码1:常用设置QT背景图像方式

QPalette PAllbackground = this->palette();
QPixmap ImgAllbackground(":/resource/allbackground.png");
PAllbackground.setBrush(QPalette::Window, QBrush(ImgAllbackground));
this->setPalette(PAllbackground);

上述代码可以设置窗口的背景图像,但是不能自适应窗口大小。

代码2:改进版设置QT窗口背景图像方式(自适应窗体大小)

QPalette PAllbackground = this->palette();
QImage ImgAllbackground(":/images/369.jpg");
QImage fitimgpic=ImgAllbackground.scaled(this->width(),this->height(), Qt::IgnoreAspectRatio);
PAllbackground.setBrush(QPalette::Window, QBrush(fitimgpic));
this->setPalette(PAllbackground);

上述两个代码中,一个用的是QPixmap ,后者是QImage ,后者正是应用的图像类的特性对原图像进行缩放操作,使得图像自适应窗口大小。

  • 23
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值