Qt获取电脑有几个网卡,并获取对应的IPV4

标题:Qt获取电脑网卡对应的ip | Qt计算电脑有几个网卡 | Qt获取网卡ip信息 | Qt判断获取到的ip是否是IPV4
 
demo流程:
1.点击搜索网卡按钮,搜索电脑所有的网卡,将网卡名称添加到QComBoBox下拉框中
2.切换下拉框,点击获取IP按钮,查询出选择的网卡的对应ip(IPV4)
 
 
// x.h
#include <QNetworkInterface>
#include <QNetworkAddressEntry>
#include <QNetworkDatagram>

QList<QNetworkInterface> face_list;    // 存储网卡信息

void searchNet();        // 搜索电脑所有的网卡信息
void getIp();            // 获取网卡对应IP(IPV4)

 

void searchNet()
{
    ui.comboBox_wangka->clear();
    face_list.clear();
    
    face_list = QNetworkInterface::allInterfaces();
    for (int i = 0; i < face_list.count(); i++)
    {
        ui.comboBox_wangka->addItem(face_list.at(i).humanReadableName());
    }
}

void getIp()
{
    // 获取无线网卡IP
    int wangka_index = ui.comboBox_wangka->currentIndex();
    auto address_list = face_list.at(wangka_index).addressEntries();
    for (int i = 0; i < address_list.count(); i++)
    {
        auto t_ip = address_list.at(i).ip();
        // 判断IP是否是IPV4         
        if (t_ip.protocol() == QAbstractSocket::IPv4Protocol)
        {
            qDebug() << t_ip;
            break;
        }
    }
}

 

 

 

 

 

 

posted @ 2023-11-02 10:20  十一的杂文录  阅读(224)  评论(0编辑  收藏  举报