QPushButton设置背景图片变换(素材四连图)

本文介绍了如何在QT中为QPushButton设置背景图片,并实现鼠标不同状态下的图片变换效果。通过保存素材为四张图片并重写特定事件,如enterEvent、leaveEvent等,达到鼠标悬停、点击和离开时背景图片自动切换的效果。并提供了自定义Button类的示例代码。
摘要由CSDN通过智能技术生成

在QT中,QPushButton是我们经常用的控件,但是系统默认控件的样式不好看,因此我们一般都会给QPushButton设置背景图片,并且一般想达到的效果是,当鼠标放上去时是一张图片,当鼠标点击时是一张图片,当鼠标离开时,又是另外一张图片,怎么实现这个效果了。


1、setStyleSheet

setStyleSheet("QPushButton{background-image: url(:/images/1.bmp);}" 
              "QPushButton:hover{background-image: url(:/2.bmp);}" 
              "QPushButton:pressed{background-image: url(:/3.bmp);}");


2、自定义QPushButton
但是大家有没有遇到这样的情况,素材是几张连在一起,比如四张图片连在一起的(大多数软件图标素材),如

                                                                                   

这种情况怎么办了,或许你会说可以用ps将上面的图片切成四个单独图片,然后用setStyleSheet,这样是可以的,但是这个方法太不方便了,也有违制作这个素材的人的初衷,那我们怎么才能利用上面素材,实现按钮背景图片的切换了?


方法是:我们可以用代码(根据位置,长宽)将上述素材分别保存为四张图片于链表中,


                
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值