Qt利用样式表实现三态按钮

本文内容,基本参考自互联网,所以定义为转载。

我们知道,360的页面上有好多按钮是三态的,所谓三态就是就是按钮的普通态,鼠标的光标在按钮上悬浮式时的停留态,以及点击态。

实现三态按钮有好几种方式, 有利用样式表的,有利用鼠标事件的,听说还有动画机制,我尽量都写出来,这篇博客是利用样式表实现三态按钮。

既然是是三态按钮的话,必然能要有三种不同的图片资源(当然你可以显示不同的颜色,而不用图片)

下面是三态按钮要用的样式表

直接可以在Designer里设置


QPushButton{border-image: url(:/normal.png);}
QPushButton:hover{border-image: url(:/hover.png);}
QPushButton:pressed{border-image: url(:/press.png);}

记得添加url时可以直接点击上面的Add Resource

在代码里实现

    ui->pbTristate->setStyleSheet("QPushButton{border-image:url(:/normal.png);}\
                                  QPushButton:hover{border-image: url(:/hover.png);}\
                                  QPushButton:pressed{border-image: url(:/press.png);}");

当我们觉得每次都要设置三张图片太麻烦的话,我们可以设计一张图片,然后切分拷贝。当然这个需要自定义button类,在利用鼠标事件实现的博客会有涉及。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值