在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);}");
但是大家有没有遇到这样的情况,素材是几张连在一起,比如四张图片连在一起的(大多数软件图标素材),如
这种情况怎么办了,或许你会说可以用ps将上面的图片切成四个单独图片,然后用setStyleSheet,这样是可以的,但是这个方法太不方便了,也有违制作这个素材的人的初衷,那我们怎么才能利用上面素材,实现按钮背景图片的切换了?
方法是:我们可以用代码(根据位置,长宽)将上述素材分别保存为四张图片于链表中,