• 6061阅读
  • 5回复

通过不同的方式改变滚动条的值,其valueChanged信号响应次数的问题。 [复制链接]

上一主题 下一主题
离线wbyqy
 

只看楼主 倒序阅读 楼主  发表于: 2009-05-22
我在使用QT的滚动条的时候发现在通过点击改变滚动条的值的时候执行了三次改变。

后来通过调试发现,一般情况下均正常执行一次,但有时却会执行多次。

以我测试为例,在其valueChanged下加入了QMessageBox::information( this, tr("错误"), QString("%1").arg(value) );这行代码显示一个提示框。加入我通过滚动条的右键菜单让滚动条的值发生改变,其显示一个消息框,通过代码setValue( 100 );也只显示一个消息框,但如果我是直接通过鼠标左键在滚动条上点击改变其滚动条的值,你会发现在你关闭消息框后滚动条的值又会改变并又出现一个对话框,仔细观察你会发现在开始第一次点击的时候就执行了三次改变事件……

麻烦版主帮忙关注一下这个问题,小弟实在是想不到什么办法了,也麻烦各位知道的朋友多多帮忙!
[ 此帖被wbyqy在2009-05-22 19:55重新编辑 ]
离线duduqq

只看该作者 1楼 发表于: 2009-05-22
把信号改为sliderPressed () 试试
离线wbyqy

只看该作者 2楼 发表于: 2009-05-22
sliderPressed只能获取点那个滑块的信号吧?
我是要获取滚动条的值通过任何方式改变的信号哈。
还是谢谢楼上的,希望朋友能都说说自己的看法,谢谢……
离线wbyqy

只看该作者 3楼 发表于: 2009-05-23
没人知道吗?千万不能沉啊……
离线rqzrqh

只看该作者 4楼 发表于: 2009-05-24
鼠标不好。。。


增加一个QLabel,一个count,
把原本显示对话框改成显示QLabel
valueChanged就count++,最后显示count值,多次测试,看看是不是真的一次点击鼠标就出现3次valueChanged
离线wbyqy

只看该作者 5楼 发表于: 2009-05-25
楼上的大概还没明白我的意思,我说的是滚动条在一些特殊的操作的时候会动三次,如果按你说的方式肯定是正常的哈。
快速回复
限100 字节
 
上一个 下一个