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 文件

相关推荐
似水এ᭄往昔8 小时前
【C++】--二叉搜索树
开发语言·数据结构·c++
大道戏8 小时前
互联网程序设计第12 讲 RMI 程序设计
java·开发语言·计算机网络
水木姚姚8 小时前
C++程序创建(VS Code)
开发语言·c++
四维碎片8 小时前
【Qt】OpenGL渲染框架
qt·opengl
666HZ6669 小时前
C语言——C++的引用
c语言·开发语言·c++
San30.9 小时前
深入 JavaScript 原型与面向对象:从对象字面量到类语法糖
开发语言·javascript·ecmascript
皖南大花猪9 小时前
Go 项目中使用 Casbin 实现 RBAC 权限管理完整教程
开发语言·后端·golang·rbac·casbin
源代码•宸9 小时前
GoLang写一个火星漫游行动
开发语言·经验分享·后端·golang
小尧嵌入式9 小时前
C++中的封装继承多态
开发语言·arm开发·c++
csbysj20209 小时前
Redis 配置详解
开发语言