Делаю класс на основе Qextserialport c функциональностью асинхронного обмена.Для опроса количества байт в порту использую поток со msleep(1) (пробовал также с таймером), обработку новых данных произвожу при помощи SIGNAL SLOT (пробовал также с QEvent).Класс работает как надо, но если зажать левую клавишу мыши на верхней части окна (типа перемещение) - то SLOT (а так же и event) перестает обрабатываться главной формой а сваливается в очередь обработки сообщений которая не обрабатывается, пока кнопочку не отпустишь, а для приложения работающего с com портом это недопустимо.В принципе можно посадить таймер на главную форму и в нем опрашивать порт - но это не удобно.для SIGNAL SLOT попробовал Directconnection, для QEvent postevent - результата одинаковый, неудовлетворительный, описанный выше.Подскажите пож-ста как бороться с этой проблемой.
|