如果我有几个重叠的QTimer,会发生什么
What happens if I have several overlapping QTimer
假设我有两个QTimer
对象,它们的10,20间隔。假设我想用定时器1 timeout
信号运行slot1()
,用定时器2运行slot2
。所以slot1
和slot2
的运行顺序是这样的:
10ms-----20ms-----------30ms----40ms-----
(slot1) (slot1, slot2) (slot1) (slot1, slot2)...
我想知道20毫秒后CCD_ 7&slot2
首先执行?以及当CCD_ 9和CCD_。(slot2
对我来说更重要的是按时运行(
不能保证两个定时器中的插槽会按照特定的顺序调用。这是因为您在不同的时间启动它们,而且QTimer
通过设置以下内容最多具有毫秒精度:
timer.setTimerType(Qt::PreciseTimer);
默认值为Qt::CoarseTimer
,它使精度在所需间隔的5%以内。
关于您的案例,如果您想按顺序呼叫slot2
和slot1
,您可以在连接到计时器的插槽中呼叫它们,间隔为10:
void myClass::onTriggered()
{
if(count % 2==0)
slot2();
slot1();
count++;
}
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 警告处理为错误这里有什么问题
- 什么时候调用组成单元对象的析构函数
- #定义c-预处理器常量..我做错了什么
- 努力将整数转换为链表。不知道我在这里做错了什么
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 什么时候在C++中返回常量引用是个好主意
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- C++避免重复声明的语法是什么
- c++库的公共头文件中应该包含什么
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 有什么方法可以遍历结构吗
- 当类在C++中定义时,有什么方法可以"register"类吗?
- ifstream什么都没读
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 在C++中使用std或boost库的Qtimer等价物是什么
- QTimer对象是否在单独的线程中运行?它的机制是什么
- QTimer启动功能究竟发生了什么
- 如果我有几个重叠的QTimer,会发生什么