Предположим, у меня есть 2 QTimer
объекты с 10, 20 как их интервалы. И предположим, я хочу бежать slot1()
с таймером 1 timeout
сигнал и slot2
с таймером 2. Так работает порядок slot1
а также slot2
это что-то вроде этого:
10ms-----20ms-----------30ms----40ms-----
(slot1) (slot1, slot2) (slot1) (slot1, slot2)...
Я хочу знать через 20 миллисекунд, какой из slot1
& slot2
выполняет сначала? и как я могу заставить цикл событий работать slot2
а потом slot1
когда они перекрываются. (slot2
мне важнее бежать вовремя)
Нет гарантии, что слоты в двух таймерах будут вызываться с конкретными заказами. Это потому, что вы запускаете их в разное время, а также QTimer
в лучшем случае имеет точность в миллисекунды, установив это:
timer.setTimerType(Qt::PreciseTimer);
По умолчанию Qt::CoarseTimer
что обеспечивает точность в пределах 5% от желаемого интервала.
О вашем случае, если вы хотите позвонить slot2
а также slot1
чтобы вы могли вызвать их в слоте, подключенном к таймеру с интервалом 10:
void myClass::onTriggered()
{
if(count % 2==0)
slot2();
slot1();
count++;
}