问题描述
我正在尝试使用以下代码连接到 wifi 网络 但它不起作用也没有给出任何错误
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
QNetworkConfiguration cfg;
QNetworkConfigurationManager ncm;
auto nc = ncm.allConfigurations();
for (auto &x : nc)
{
if (x.bearerType() == QNetworkConfiguration::BearerWLAN)
{
if (x.name() == "Desired Network")
qDebug() <<"Connecting to "<< x.name();
cfg = x;
}
}
auto session = new QNetworkSession(cfg);
session->open();
return a.exec();
}
连接到所需的网络
解决方法
您操作系统中的实际 NI 名称可能与您预期的不同。尝试更详细地调试它:
for (auto &x : nc)
{
if (x.bearerType() == QNetworkConfiguration::BearerWLAN)
{
qDebug() << x.name() << " is a WIFI";
if (x.name() == "Desired Network")
qDebug() <<"Connecting to "<< x.name();
cfg = x;
}
else
qDebug() << x.name() << "\n";
}
例如在 Windows 上,这些名称将用引号括起来,很可能是因为 Qt 使用 WMIC 后端来获取它们。如果你的 NI 在 GUI 中被称为“Desired Network”,它实际上是 "\"Desired Network\""