У меня есть устройство, которое движется по линейному пути, в основном linear actuator. Когда устройство достигает физических целей, он достигает предельного контакта, который посылает сигнал на мое программное обеспечение. Мне нужно будет постоянно проверять, включен ли этот сигнал. Но у меня возникают трудности с реализацией этой логики в Qt5.5.Непрерывный контроль в основном цикле в Qt 5.5
Я читал на QtConcurrent
, и это похоже на жизнеспособное решение, но после его внедрения на тестовом диске я узнал, что не могу решить свою проблему без какого-либо цикла while(true)
. Однако реализация цикла while(true)
, похоже, замедляет все остальное на моем коде, поэтому это решение совершенно бесполезно.
Я бы опубликовал код, но при условии, что он использует библиотеки и номенклатуру устройств, которые имеют очень специфическую нишу, я пощажу вам боль, но если кто-нибудь может направить меня к чтению на что-то подобное, я был бы очень благодарен. Я предпочел бы избегать QtThread
и в основном вручную настраивать потоки, так как я не чувствую себя комфортно, работая с ними на этом этапе, и у меня есть ограничение по времени на этот проект, поэтому было бы лучше, если бы я не экспериментировал.
tldr: Мне нужно каким-то образом ввести код в основной цикл программы, который проверяет изменение логического значения. Указанное изменение отправляется в программу извне устройством, которое осуществляет связь через Ethernet.
Ответ вы не только полностью решили мою проблему, но я теперь изучил совершенно новую парадигму в Qt. Большое спасибо. (кажется, мне нужно 15 человек, чтобы проголосовать) – bromega