Qt5、C++11 获取wifi列表与wifi连接

一、获取wifi列表

.h 文件内容

cpp 复制代码
#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>
#include <QCheckBox>
#include <QListWidget>


class Setting : public QWidget {

Q_OBJECT
public:
    explicit Setting(QWidget *parent = nullptr);

signals:
private slots:
    void scanWifiList();

private:

};

#endif //WIFIUDPSCANTOTAL_SETTING_H

.cpp 文件

cpp 复制代码
//
// Created by Administrator on 2025/5/20.
//
#include <QLineEdit>
#include <QLabel>
#include "include/setting/Setting.h"
#include "include/configManager/ConfigManager.h"
#include "include/wifiManager/wifiManager.h"
#include <QDebug>
#include <QMap>
#include <QJsonObject>
#include <QListWidget>
#include <QMessageBox>
#include <QProcess>

#define COUT qDebug() << __FUNCTION__ << __LINE__


void Setting::scanWifiList() {
    qInfo() << "开始扫描wifi列表...";
    wifiList->clear();

    QProcess process;
    process.start("netsh wlan show networks");  // 执行WiFi扫描命令:ml-citation{ref="1,4" data="citationList"}
    process.waitForFinished();
    QString output = QString::fromLocal8Bit(process.readAllStandardOutput());

    QStringList lines = output.split("\r\n");
        foreach (QString line, lines) {
            if (line.contains("SSID")) {

                QString ssid = line.split(":").last().trimmed();
                qInfo() << "wifi..name.."<< ssid;

                wifiList->addItem(ssid);
            }
        }

    COUT << "扫描结束,wifi数量:" << wifiList->count();
    COUT << wifiList;

}

结果如下:

二、连接wifi

.h 文件

相关推荐
AI进化营-智能译站3 分钟前
ROS2 C++开发系列13-运算符重载让ROS2消息处理更自然
java·开发语言·c++·ai
时空系5 分钟前
第6篇:数据容器——管理大量数据 Rust中文编程
开发语言·后端·rust
eLIN TECE12 分钟前
Go基础之环境搭建
开发语言·后端·golang
念何架构之路13 分钟前
Go反射应用技巧
开发语言·后端·golang
shjita14 分钟前
java根据键值对中值的大小进行排序的手法。
java·开发语言·servlet
Rabitebla33 分钟前
vector 的骨架:三根指针、模板陷阱与迭代器失效的第一现场
开发语言·数据结构·c++·算法
时空系34 分钟前
第7篇:功能——打造你的工具箱 Rust中文编程
开发语言·网络·rust
csbysj202043 分钟前
CSS !important:深度解析与最佳实践
开发语言
初心未改HD1 小时前
Go语言测试与Benchmark:测试驱动开发的实践指南
开发语言·golang
chxii1 小时前
lua流程控制语句和table(表)数据结构
开发语言·junit·lua