QTimer timeout()方法不再在代码重组后启动
QTimer timeout() method no longer firing after code restructure
我最近对我的一些代码进行了重新格式化,以使其更可读。我在MainWindow课程中有代码来处理触摸事件。这些功能包括Pinchzoom功能,它在我的更改之前起作用。我将代码转移到了Qobject的单例类中。
检测到pinchzoom时,相关的小部件(由qapplication :: widgetat(((调用其pinchzoom((方法,该方法停止,然后重新启动单杆qTimer。QTimer的timeout()
方法连接到一个实现实际缩放和更新视图的插槽。因此,我可以在实际的Pinch-Zoom手势和视图更新之间添加一个延迟。
在移动我的代码之前,此timeout()
信号工作正常,并且触发了缩放方法。但是,尽管没有触摸信号/插槽连接,但timeout()
方法触发的缩放插槽不再被调用。timeout()
信号与插槽之间的实际连接是在计时器寿命的小部件的构造函数中完成的。
我已经检查过,并且信号/插槽连接返回真实,因此连接在那里。
是否有某种原因会发生这种情况?它与现在在单顿类中而不是MainWindow类中发生的QTIMER发生的事实有关吗?
似乎问题是我的Singleton类位于单独的线程上,并且无法从单独的线程触发QTimer。我刚刚在原始MainWindow类中设置了一个插槽,以接受Singleton类的信号,然后调用Pinch Zoom方法。现在正常工作。
相关文章:
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 代码在main()中运行,但在函数中出现错误
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 在Linux for Windows上编译C++代码时出错
- 我的字符计数代码计算错误.为什么
- 孤立代码块在结构中引发异常
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 此代码是否违反一个定义规则
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- QTimer timeout()方法不再在代码重组后启动
- 需要对多个类之间继承的C 代码进行帮助重组和/或重新编写此C 代码
- 我应该如何重组此事件处理代码