QSerialPortInfo isValid () и isBusy ()
Класс QSerialPortInfo имеет константные методы isValid() (не рекомендуется с версии 5.2) и isBusy () (не рекомендуется с версии 5.6). Кажется, что они оба работают, но документация QT не содержит информации о том, следует ли их заменить на isNull() или состояние объекта QSerialPortInfo следует проверить каким-либо другим способом.
Кто-нибудь может рассказать мне, как проверить доступность последовательного порта?
1 ответ
Я использую тот же вызов функции, и он, похоже, работает, поэтому мне было интересно, почему функция устарела. Оказывается, функция открывает указанный порт, см. Отчет об ошибке здесь. Этот побочный эффект, по-видимому, является причиной того, что он был помечен как устаревший и устаревший.
Если этот побочный эффект вас устраивает (и о "других проблемах", о которых сопровождающий сообщил в отчете об ошибке), то это, по-видимому, хороший способ сделать то, о чем вы просите.
Что касается документации, обаisValid()
а также isBusy()
устарели и не рекомендуются для использования в новом коде.
Цитата из документации (выделено мной):
Они предназначены для сохранения работоспособности старого исходного кода. Мы настоятельно не рекомендуем использовать их в новом коде.
Раздел См. Также указывает на isNull()
метод, поэтому его следует использовать.
См. Коммит.