目录

一、问题描述

二、解决方案

三、代码示例


一、问题描述

在使用Qt的QScrollBar组件过程中,我重写了它的valueChanged()信号相对应的槽函数,而在另一组件的回调函数中又有用到QScrollBar的setValue()方法,调试发现,当我调用它的setValue()方法时,程序会自动执行valueChanged()信号的槽函数,如何屏蔽掉这一事件呢?

其实这个问题不仅限于QScrollBar,QSpinBox等组件也存在同样的问题,可以说是Qt的一个官方bug了。

二、解决方案

解决方案有多种,比如blockSignals、QTimer::singleshot、开线程对slider进行setValue,其中最简单的方式是直接调用QScrollBar的blockSignals屏蔽掉组件信号之后再设值,设置完成之后再打开信号触发的入口。

三、代码示例

    // 屏蔽信号触发    ui->verticalScrollBar->blockSignals(true);// 设值ui->verticalScrollBar->setValue(value);// 恢复信号触发ui->verticalScrollBar->blockSignals(false);

【Qt】解决QScrollBar调用setValue()方法会自动发送valueChanged问题相关推荐

  1. 通过.NET反射动态调用SetValue方法给属性PropertyInfo动态类型赋值

    注意:若不动态转换属性的值,简单调用SetValue方法赋值经常出错!特别是日期类型.带符号的数字类型等. 解决方案: 通过TypeDescriptor.GetConverter方法获取对应数值类型的 ...

  2. 解决迭代器调用next方法时报错:StopIteration

    解决方法 当使用next()去访问一个已经迭代完的迭代器时,会有这样的报错:StopIteration 解决方法就是给一个默认值:next(iter , 默认值),当迭代完成后会输出这个默认值 假设原 ...

  3. JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法

    JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法 参考文章: (1)JNI调用native方法出现 ...

  4. sendrequest ajax数据返回,jquery ajax 还没有调用send()方法 返回的状态码XMLHttpRequest.status 是0 ,怎么解决?...

    jquery ajax 还没有调用send()方法 返回的状态码XMLHttpRequest.status 是0 ,怎么解决?0 嗲女错cbn2013.04.29浏览451次分享举报 function ...

  5. js调android方法失败,安卓开发学习之解决JS不能调用Android方法

    背景 这两天在做划词搜索时,需要让前端的js调用后端的Android方法,但总是调不成,经过搜索,问题解决,现记录成文. 解决方案 1.确定调用了webView.addJavascriptInterf ...

  6. Linux下Qt/PyQt5无法调用fcitx中文输入法解决办法

    系统平台:Linux Mint 18.3 xfce 64bit (文末有福利) 博主相关文章: (1)PyQt5练习:结合matplotlib绘图 (2)PyQt5练习:词典翻译 (3)Linux下Q ...

  7. android notifydatasetchanged 刷新错误,Android 调用notifyDataSetChanged方法失败解决办法

    Android 调用notifyDataSetChanged方法失败解决办法 如果使用ListView.GridView等进行数据展示,当绑定的数据有了更新的时候,需要实时刷新ListView,即调用 ...

  8. php word组件使用方法,快速解决PHP调用Word组件DCOM权限的问题讲解

    下面小编就为大家分享一篇快速解决PHP调用Word组件DCOM权限的问题,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 1. 首先必须要在电脑上安装 Office 2. window ...

  9. 解决Spring JdbcTemplate调用queryForObject()方法结果集为空时报异常

    JdbcTemplate用的时候发现一个问题: 调用queryForObject()方法,如果没有查到东西则会抛一个异常:org.springframework.dao.EmptyResultData ...

最新文章

  1. 遗传算法中的选择操作
  2. VS013的单元测试去哪里了
  3. opencv nms 学习笔记
  4. HashMap的扩容机制---resize()
  5. Asp.net(C#)常用函数表--新手必备
  6. Java教程:Java JDK下载与安装教程
  7. 关于MySQL的存储函数(自定义函数)的定义和使用方法详解
  8. 一个不会言谈的程序猿,惊奇发现自己能力的多么的优秀
  9. paip.c#.net托盘图标的建立使用总结
  10. 油猴脚本插件 千图网无水印原图素材
  11. 联想怎么启动windows无线服务器,Windows7系统下开启无线的多种方法
  12. JS 每日一题 #12
  13. spring cloud 解决问题
  14. uniapp登陆页面功能
  15. 代码理解网络选择候选区域及确定最终目标框的过程
  16. 跟我一起编辑直播源码,直播app代码怎么写
  17. 如何查询港股恒生指数成分股信息
  18. 完全平方数:若一个整数n能表示成某个整数m的平方的形式,则称这个数为完全平方数。写一个程序判断输入的整数是不是完全平方数。
  19. 台式计算机无法开机原因,台式电脑无法启动的原因和解决方法_电脑不能启动的原因与解决方法...
  20. ArcGIS二次开发入门(一)

热门文章

  1. 微信web开发工具使用详解笔记
  2. 助推中小创新企业,共筑制造强国梦想
  3. Android的布局管理
  4. kafka 3.0 日志定时清理(源码)
  5. UI自动化测试之元素定位方法
  6. 用HTML编写迪士尼乐园页面
  7. 有向无环图的最短路径求解算法
  8. ESP8266开发之旅 进阶篇⑤ 代码规范 —— 像写文章一样优美
  9. linux 命令 查询cpu,linux查看cpu信息命令
  10. MATLAB关于polt3d函数的问题求解