Russian Qt Forum

Qt => Общие вопросы => Тема начата: tankist от Март 12, 2014, 10:16



Название: Определение изменения COM-портов в системе QT5
Отправлено: tankist от Март 12, 2014, 10:16
Здравствуйте. Переделываю проекты с QT4 на QT5. В QT5 есть встроенные классы для работы с COM-портами QSerialPort и QSerialPortInfo. Я прочитал по ним документацию, но нигде не нашел упоминания про сигнал, который бы индицировал динамическое изменение портов в системе (практически все современные порты - виртуальные USB и легко включаются/выключаются по-"горячему").
Каким образом можно отловить изменение портов в реальном времени в QT5?


Название: Re: Определение изменения COM-портов в системе QT5
Отправлено: Bepec от Март 12, 2014, 10:51
Нет таких сигналов вроде. Но это задачка для 2 курса - хранить список портов и раз в N времени проверять. Или можно подцепиться к winApi или апи нужной вам системы, там будут приходить сообщения.


Название: Re: Определение изменения COM-портов в системе QT5
Отправлено: tankist от Март 14, 2014, 08:35
Да, это решение лежит "на поврехности". Но я все-таки не поверил, что на самом деле отсутствует такая необходимая особенность и решил спросить у опытных людей, вдруг я что-то упустил.
Спасибо.


Название: Re: Определение изменения COM-портов в системе QT5
Отправлено: kuzulis от Март 14, 2014, 10:17
2 tankist ,

эту фичу можно реализовать и самостоятельно в отдельном классе типа SerialPortWatcher (или как-нибудь так), и код можно позаимствовать из QSerialDevice. Не вижу проблемы.


Название: Re: Определение изменения COM-портов в системе QT5
Отправлено: tankist от Март 18, 2014, 11:04
Вопрос состоял не в том "как это сделать", а "не сделано ли это уже". Всем спасибо! Тему можно сичтать закрытой.