查看完整版本: [-- Qt5.9.9中QNetworkConfigurationManager无法列出WLAN相关内容 --]

QTCN开发网 -> Qt基础编程 -> Qt5.9.9中QNetworkConfigurationManager无法列出WLAN相关内容 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

songhuirong1 2022-11-17 15:14

Qt5.9.9中QNetworkConfigurationManager无法列出WLAN相关内容

在Qt5.9.9中,我使用QNetworkConfigurationManager判断电脑中每个网卡是有线网卡,还是无线网卡,发现无法列出WLAN相关的网卡。不知该如何解决,望高手指点。
代码如下:
////////////////////mainwidget.h
  1. #ifndef MAINWIDGET_H
    #define MAINWIDGET_H
    #include <QNetworkConfigurationManager>
    #include <QWidget>

    QT_BEGIN_NAMESPACE
    namespace Ui { class MainWidget; }
    QT_END_NAMESPACE

    class MainWidget : public QWidget
    {
        Q_OBJECT

    public:
        MainWidget(QWidget *parent = nullptr);
        ~MainWidget();
    private:
        void init();
        void initConnect();
        void initNetworkConfiguration();
        void onConfigurationAdded(const QNetworkConfiguration &netCfg);
        void onUpdateCompleted();

        Ui::MainWidget *ui;
        QNetworkConfigurationManager m_netCfgMgr;
    };
    #endif // MAINWIDGET_H

////////////////////mainwidget.cpp
  1. #include "mainwidget.h"
    #include "ui_mainwidget.h"

    MainWidget::MainWidget(QWidget *parent)
        : QWidget(parent)
        , ui(new Ui::MainWidget)
    {
        ui->setupUi(this);
        init();
    }

    MainWidget::~MainWidget()
    {
        delete ui;
    }

    void MainWidget::init()
    {
        initConnect();
        initNetworkConfiguration();
    }

    void MainWidget::initConnect()
    {
        connect(&m_netCfgMgr, &QNetworkConfigurationManager::configurationAdded,
                this, &MainWidget::onConfigurationAdded);
        connect(&m_netCfgMgr, &QNetworkConfigurationManager::updateCompleted,
                this, &MainWidget::onUpdateCompleted);
    }

    void MainWidget::initNetworkConfiguration()
    {
        ui->textBrowser->append(QString{"Start network configuration update."});
        m_netCfgMgr.updateConfigurations();
    }

    void MainWidget::onConfigurationAdded(const QNetworkConfiguration &netCfg)
    {
        QString text;
        text += ("name:\"" + netCfg.name() + "\"\t\t");
        text += ("bearerTypeName:\"" + netCfg.bearerTypeName() + "\"\t\t");
        text += ("bearerType:\"" + QString::number(netCfg.bearerType()) + "\"\n");
        ui->textBrowser->append(text);
    }

    void MainWidget::onUpdateCompleted()
    {
        ui->textBrowser->append(QString{"Network configuration update completed."});
        const auto netCfgs{m_netCfgMgr.allConfigurations(/*static_cast<QNetworkConfiguration::StateFlag>(QNetworkConfiguration::Defined
                                                                                                       | QNetworkConfiguration::Discovered
                                                                                                       | QNetworkConfiguration::Active)*/)};

        for(const auto &netCfg : netCfgs)
        {
            onConfigurationAdded(netCfg);
        }
    }



songhuirong1 2022-11-17 15:17
网上找到一个帖子说是缺少“qnativewifibearer.dll”插件,但是我本地电脑找不到这个插件。
帖子链接:
https://stackoverflow.com/questions/48768295/qnetworkconfigurationmanagerallconfigurations-doesnt-list-wlan

liudianwu 2022-11-17 20:40
打包发布的时候插件目录plugin下有个bearer目录,在那里面,一起打包就好

songhuirong1 2022-11-18 13:26
没人回答么


查看完整版本: [-- Qt5.9.9中QNetworkConfigurationManager无法列出WLAN相关内容 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled