Qt中设置背景图,防止平铺

Qt中设置控件背景图防止平铺

错误设置背景图

我在最近项目里面设置QMdiArea控件背景图时,想要将背景图设置为单个不重复平铺的状态;一顿操作后,代码和效果如下
QPixmap bgPix(":/images/logo.png");
mdiArea->setBackground(QBrush(bgPix));
在这里插入图片描述
真的是一顿操作猛如虎,结果得分0:5。

正确设置背景图

1.先设置背景为NoBrush;
2.然后用setStyleSheet设置样式表;
代码如下:
mdiArea->setBackground(QBrush(Qt::NoBrush));
mdiArea->setStyleSheet(“QMdiArea{”
" background-image: url(:/images/logo.png);"
" background-repeat: no-repeat;"
" background-position: center;"
" background-color: rgba(0, 0, 0, 0);"
" }");
其中,background-repeat是设置图片的重复类型,有inherit, no-repeat, repeat, repeat-x, repeat-y;
background-position:center设置图片居中;
background-color: rgba(0,0,0,0)设置背景透明;
在这里插入图片描述
将图片抠图之后,显示会好看很多,并且只有一个图,不会平铺整个背景。

思考

Qt中设置背景图,如果不设置为NoBrush或拉伸图片,那么就会平铺整个背景。
我想Brush本来就有铺满的意思,所以一般是设置背景颜色。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值