Я пишу программное обеспечение в Qt/C++, которое связывается через последовательный порт с ардуино и другими электронными устройствами.Лучший способ синхронизации событий в Qt
мне нужно, чтобы начать последовательность событий, которые вызывают разные слот с разными сроками, как это:
- Пуск двигателя 1 в течение 20 секунд
- Через 10 секунд Пуск двигателя 2
- Остановка двигателя 1
- Изменение двигателя 1 скорость
- Пуск двигателя 1 Для 30 второго
Я пробовал с QTimer :: singleShot, но он работает только с слотом без параметров, и мне нужно время от времени устанавливать параметры, такие как скорость двигателя.
Прямо сейчас я использую функцию задержки, которая противостоит currentTime do dieTime, но сложно отслеживать синхронизацию всех устройств.
Какое оптимальное решение? Предложения?
Если статическая функция QTimer :: singleShot не работает для вас, то, что касается использования экземпляров QTimer, используется однократное использование (http://doc.qt.io/qt-5/qtimer.html#singleShot -prop) – TheDarkKnight
'QTimer' действительно лучшее решение. И вы можете передавать параносы через поля класса. – Amartel
@Amartel, я пытаюсь передать параметры через поля класса, но моя проблема заключается в том, как передавать параметры по времени. Если, например, я хочу установить двигатель на скорость x, запустить двигатель на 30 секунд, остановить двигатель, установить его на скорость y, а затем начать снова, как я могу обновить параметры в соответствии с синхронизацией? Я думаю о настройке всех параметров, но я не думаю, что это хорошее решение. – nicodio