songhuirong1 |
2022-11-17 15:14 |
Qt5.9.9中QNetworkConfigurationManager无法列出WLAN相关内容
在Qt5.9.9中,我使用QNetworkConfigurationManager判断电脑中每个网卡是有线网卡,还是无线网卡,发现无法列出WLAN相关的网卡。不知该如何解决,望高手指点。 代码如下: ////////////////////mainwidget.h
- #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
- #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); } }
|
|