qt 对slider一次拖动却触发了两次sliderRelease?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt 对slider一次拖动却触发了两次sliderRelease?相关的知识,希望对你有一定的参考价值。

我定义了一个sliderReleased的SLOT函数,但是一次拖动后会触发两次该函数,不知为何?望大神指点一二

参考技术A 初次判断,你可能connect了两次。你的介绍太简单,没办法深入判断追问

我按照on_objectName_signalName()这种命名方式命名了槽函数,然后它自动生成了一个connect函数,我把这个connect函数删除后就可以只执行一次了。按照这种方式声明的槽函数是不需要connect函数的吗

追答

你是在qcreator里面编码的?如果你在设计ui的时候,已经使用了右键connect功能关联一个函数了,就不需要再专门写connent(某对象,SIGNAL(信号),某对象,SLOT(槽函数))了。和函数声明方式无关

在我的 iOS 中单击按钮时,事件触发了两次。应用程序

【中文标题】在我的 iOS 中单击按钮时,事件触发了两次。应用程序【英文标题】:Event fired two times when clicked to button in my iOS. app 【发布时间】:2012-02-17 09:06:23 【问题描述】:

我做了一个简单的IOS。 UI 包含按钮的应用程序。例如,我有九个按钮,每个按钮代表一个与数字键盘相同的数字。在我复制了八次按钮之后,我按照以下方式制作了这个按钮,将它放到情节提要中并使用 ctrl 拖动功能制作了 Touch Up Inside 事件。

问题是当我按下按钮时,事件有时会出现两次。它随机发生。我在 NSLog 行中放了一个断点,我根本没有看到有问题的东西。

- (IBAction)digitPressed:(UIButton *)sender 
    if ([lastPressed isEqualToString:[sender currentTitle]]) 
        NSLog(@"Douple pressed digit"); // break it here
    

    // store to lastPressed
    lastPressed = [sender currentTitle];

【问题讨论】:

如果按钮也被按下两次,此代码将打印到日志中。尝试仅使用单个NSLog 无条件地实现此方法。还要在签名中输入senderid。如果您仍然看到线路,请仔细检查连接。 【参考方案1】:

如果您在单击一次时多次出现 digitPressed,我猜您复制按钮时出了点问题,因此请检查情节提要中的接线。

正如文斯所说,使用 id 是一个很好的做法,并不是因为这个方法现在由按钮触发,所以它们应该总是由按钮触发。

每次都记录而不是双倍记录时更容易调试。

NSLog(@"Button pressed: %@", [sender currentTitle]);

【讨论】:

我不知道为什么,有时我得到了双重事件,有点延迟 2012-02-17 18:22:58.190 Calc[318:fe03] 按下按钮:9 2012-02-17 18 :22:58.263 Calc[318:fe03] 按下按钮:9

以上是关于qt 对slider一次拖动却触发了两次sliderRelease?的主要内容,如果未能解决你的问题,请参考以下文章

在我的 iOS 中单击按钮时,事件触发了两次。应用程序

android 转屏触发了两次onConfigurationChanged()方法,很诡异,不知道有人遇到过吗?

wpf点击checkbox触发了两次

NGUI_slider

如何禁止mui-slider的拖动,只需点击转换列表

如何禁止mui-slider的拖动,只需点击转换列表