QSerialPortInfo isValid () и isBusy ()

Класс QSerialPortInfo имеет константные методы isValid() (не рекомендуется с версии 5.2) и isBusy () (не рекомендуется с версии 5.6). Кажется, что они оба работают, но документация QT не содержит информации о том, следует ли их заменить на isNull() или состояние объекта QSerialPortInfo следует проверить каким-либо другим способом.

Кто-нибудь может рассказать мне, как проверить доступность последовательного порта?

1 ответ

Я использую тот же вызов функции, и он, похоже, работает, поэтому мне было интересно, почему функция устарела. Оказывается, функция открывает указанный порт, см. Отчет об ошибке здесь. Этот побочный эффект, по-видимому, является причиной того, что он был помечен как устаревший и устаревший.

Если этот побочный эффект вас устраивает (и о "других проблемах", о которых сопровождающий сообщил в отчете об ошибке), то это, по-видимому, хороший способ сделать то, о чем вы просите.

Что касается документации, обаisValid() а также isBusy() устарели и не рекомендуются для использования в новом коде.

Цитата из документации (выделено мной):

Они предназначены для сохранения работоспособности старого исходного кода. Мы настоятельно не рекомендуем использовать их в новом коде.

Раздел См. Также указывает на isNull() метод, поэтому его следует использовать.

См. Коммит.

Другие вопросы по тегам