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

用到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

qt中如何模拟按钮点击_Qt 实现按钮点击切换按钮图片相关推荐

  1. Qt中调用Python,实现基础功能、绘图、界面实现和图片爬虫

    Qt中调用Python,实现基础功能.绘图.界面实现和图片爬虫

  2. qt中如何模拟按钮点击_qt – 在Windows中模拟鼠标按钮单击

    这是在C#中,但可能会帮助您了解一下: [DllImport("user32.dll",CharSet=CharSet.Auto,CallingConvention=Calling ...

  3. qt中如何模拟按钮点击_如何快速在 Shopify 中加入按钮

    假如你会 `CSS` , `HTML` , `JS` 三件套,那么修改 `Shopify` 代码将不会太难(毕竟一个模板中的代码量还是挺多的,除非深入研究了代码,不然改起来还是会比较麻烦的). 但挺多 ...

  4. 最新QT从入门到实战完整版(08.qt中的坐标系-09 信号和槽-点击按钮关闭窗口_)

    最新QT从入门到实战完整版(08.qt中的坐标系-09 信号和槽-点击按钮关闭窗口_) 一.08.qt中的坐标系 二,09 信号和槽-点击按钮关闭窗口_ 来自 一.08.qt中的坐标系 二,09 信号 ...

  5. android jni示例_Android切换按钮,开关示例

    android jni示例 Today we will learn about Android Toggle Button and Switch in android app. We'll discu ...

  6. Qt中多个动态创建的按钮同时绑定一个槽函数,判断被点击的是哪个按钮

    当动态创建按钮,每一个创建的按钮都与同一个槽函数绑定,点击按钮的时候获取被点击的按钮的文本. 代码如下: QString getClickedBtn() {outPut<<"ge ...

  7. Qt中为工程添加资源文件、给按钮添加图片

    Qt中为工程添加资源文件.给按钮添加图片 1.使用QIcon类.代码如下: QIcon icon;icon.addFile(tr("res/icon/wall.png"));ui- ...

  8. qt中继承pushbutton自定义控件设置按钮样式

    提要 继承QPushButton后的按钮,设置其样式. 实现 在自定义的控件类中添加Q_OBJECT宏 在自定义的控件的类中重写paintevent函数 自定义的控件在使用时,必须指明其父对象 使用样 ...

  9. Qt中如何给按钮加图标(背景图片)

    Qt中如何给按钮加图标(背景图片) 1. Qt Designer中拖入一Tool Button 2. 选择图标的图片放入工程目录下,如放在Resources内 3. 双击工程的Resource Fil ...

最新文章

  1. UIImage的scale
  2. JavaScript基础教程(三)
  3. 树莓派进阶之路 (019) - 树莓派通过filezilla,samba与PC文件共享(转)
  4. Android makefile编译流程(二)
  5. linux下安装node.js
  6. Centos7.5-文件的归档和压缩
  7. Warning: Missing charsets in String to FontSet conversion
  8. 关于Android中Intent传递Serialzilable数据的问题
  9. 李彦宏告诫年轻人:向前看两年
  10. 全球最大的同性交友网站,竟然还有这些骚操作
  11. R语言编写简单的函数
  12. 紫光展锐虎贲T618八核(Android11.0)4G核心板
  13. 回首2013,一个屌丝码农的感慨
  14. 移动电源大家都买多大的?大容量移动电源推荐
  15. 力扣(700.701)补9.9
  16. 仪表板展示|DataEase可视化数据分析工具中的仪表板跳转和联动设置
  17. 7.4 平面及其方程
  18. [BUUCTF]第七天训练日志
  19. 【DL】长短期记忆网络(LSTM)
  20. 计算机图形学名词解释

热门文章

  1. 青木的书籍,--股票
  2. 上线网站详细介绍(服务器购买-域名申请-SSL证书申请)
  3. [python]pip freeze和pipreqs的区别和使用方法
  4. java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES)和错误原因 解决方案:
  5. 它是一个完全可以代替知网的精品网站
  6. PythonGUI颜色扩散游戏
  7. 微信小程序--搜索框样式 及form提交实现
  8. Dbus启动问题 Failed to get D-Bus connection: Operation not permitted
  9. 番茄插件安装及使用介绍
  10. 2021河南科技大学计算机考研科目,2021河南科技大学考研参考书目