Qt setStyleSheet 透明图片叠加

前言:懒惰不是我的理由,感觉隔了一万年没有写新的东西了。有关改变控件背景图片的需求,比如说:点击一个按钮,其他按钮背景发生变化,一点控件背景图亮一点,一些暗一点。

背景:当时有两个想法,一个是将所有图片重新做,图片亮度亮一些或者暗一些,但是太浪费时间和人工,所以就有了第二个想法,将两张透明的,一张白色亮度高一些,一张透明的灰黑色的叠加上去就行了。于是就诞生了setStyleSheet的background-image,border-image,image有什么区别的疑问。

解决疑问:background-image:不能改变图片的大小。border-imgae:根据控件的大小来改变自身图片的大小,image:跟border-image一样的效果,可以用于叠加在border-image作用下的图片上。三种属性可依次叠加,border-image叠加在background-image上面,image叠加在image上。

想法:用background-image添加背景图,点击按钮发生状态变化,用border-image叠加背景高亮图片,鼠标悬停和按下,控件状态都发生变化,
用image叠加发生变化。

m_keyFunc->setStyleSheet("background-image:url(:/image/KEY_Func.png);QWidget#KEY_FUN QPushButton:pressed{image:url(:/image/KEY_Fun_Pressed.png);};QWidget#KEY_FUN QPushButton:hover:!pressed{image:url(:/image/KEY_Fun_Hover.png);}");

槽函数:

m_keyFunc->setStyleSheet("border-image:url(:/image/White.png)");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值