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

相关推荐
大不点wow19 分钟前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm
阿里嘎多学长19 分钟前
2026-07-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管
噢,我明白了24 分钟前
Java中日期和字符串的处理
java·开发语言·日期
爱刷碗的苏泓舒24 分钟前
C 语言 if-else 与 switch-case 分支语句对比
c语言·开发语言
-银雾鸢尾-34 分钟前
C#中的泛型约束
开发语言·c#
雪碧透心凉_1 小时前
while 循环与循环嵌套
开发语言·python
乐观勇敢坚强的老彭1 小时前
信奥C++一维数组笔记
开发语言·c++·笔记
这就是佬们吗1 小时前
Python入门⑤-异常处理、文件操作与实战项目
开发语言·数据库·python·算法·pycharm
asdzx671 小时前
Python PDF 拆分实战指南:单页拆分与按需页码范围拆分
开发语言·python·pdf
孬甭_2 小时前
C++ vector
开发语言·c++