Вы можете выполнить итерации QNetworkInterface экземпляров (QT+=network
в вашем .pro) и проверить type()
на наличие беспроводного интерфейса, а также проверить flags()
, чтобы убедиться, что он работает, иБег. Пример:
#include <QCoreApplication>
#include <QNetworkInterface>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
for(const QNetworkInterface& iface : QNetworkInterface::allInterfaces()) {
if (iface.type() == QNetworkInterface::Wifi) {
qDebug() << iface.humanReadableName() << "(" << iface.name() << ")"
<< "is up:" << iface.flags().testFlag(QNetworkInterface::IsUp)
<< "is running:" << iface.flags().testFlag(QNetworkInterface::IsRunning);
}
}
}
Он должен быть кроссплатформенным, но в документации сказано, что:
Не все операционные системы поддерживают отчетность по всем функциям. Только классы IPv4 гарантированно будут перечислены этим классом на всех платформах. В частности, список адресов IPv6 поддерживается только в Windows, Linux, macOS и BSD.
О других атрибутах нет ни слова.