Qt 实现按钮点击切换按钮图片

最近在做一个课程设计(智能家居管家),因为控制要用到门,灯,警报等一系列至少拥有两个状态的物品,所以想弄一个切换图片的效果,点击按钮一次,按钮上的图片切换成另一个图片(另一个状态),再次点击切换回去。

用到Qt中一个很强大的方法 setStyleSheet,先给按钮一个初始的border图片,可以直接用ui设计工具   

 

              

 

将资源文件添加至resouce后,可以用上图方法将按钮变成图片(设置border-image),注意清空文字

当然也可以在构造函数中生成QPushButton后,用类似

 ui->my_button->setStyleSheet("QPushButton{border-image: url(:/new/icon/初始.png);border:none;color:rgb(255, 255, 255);}")方法设置border-image

设置好初始图片后,进入按钮点击槽函数 on_my_button_clicked()

ui->my_button->setStyleSheet("QPushButton{border-image: url(:/new/icon/更新.png);border:none;color:rgb(255, 255, 255);}")

即可完成切换,可以在类中声明静态变量记录点击次数,从而根据点击次数修改成想要的图片

 

需要注意的事,需要将图片的资源文件添加至文件夹下,url括号内填写resourses内的图片路径即可

 

补充;如果需要鼠标放在按钮上图片变化,可以在setStyleSheet 继续添加

QPushButton:hover

如果是按压按钮(不松手),添加QPushButton:pressed

  • 8
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值