zoukankan      html  css  js  c++  java
  • Qt

       Qt提供了类QNetworkInterface用于获取IP和MAC地址,需在pro文件中加入

      QT += network

    具体代码如下:

    #include "widget.h"
    #include "ui_widget.h"
    #include <QNetworkInterface>
    #include<QDebug>
    
    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
        QString ipAddr;
        QList<QNetworkInterface> network = QNetworkInterface::allInterfaces();
        foreach (QNetworkInterface i, network) {
            QString netName = i.humanReadableName();
    
          qDebug()<<netName;
            if(netName == tr("无线网络连接"))
            {
                  qDebug()<<i.hardwareAddress();
                QList<QNetworkAddressEntry> ipAll = i.addressEntries();
    
                foreach (QNetworkAddressEntry ip, ipAll) {
                    if(ip.ip().protocol()==QAbstractSocket::IPv4Protocol)
                        ipAddr = ip.ip().toString();
    
                }
            }
    
        }
     qDebug()<<"ipAddr = "<<ipAddr;
    }
    
    Widget::~Widget()
    {
        delete ui;
    }

    结果为:

    "无线网络连接"
    "40:F0:2F:1B:05:F9"
    "本地连接"
    "VMware Network Adapter VMnet1"
    "VMware Network Adapter VMnet8"
    "Loopback Pseudo-Interface 1"
    "isatap.localdomain"
    "isatap.{D159E0D6-D661-474C-9552-5D3D9944EA83}"
    "isatap.{EE78D248-2FB3-4BFC-8716-312559A7D9A1}"
    "Teredo Tunneling Pseudo-Interface"
    ipAddr =  "192.168.43.122"
  • 相关阅读:
    Vmware安装CentOs7+gitlab(一)
    设计模式(一) 动态代理初尝试
    APP 技术支持
    App隐私条款
    Mac OS X中开启或关闭显示隐藏文件命令
    软件工程学习要点
    如何实现企业信息化
    记录一些flutter学习网址
    基于深度学习的语义分割
    对自动变速器的控制器建模
  • 原文地址:https://www.cnblogs.com/Pan-Z/p/6676581.html
Copyright © 2011-2022 走看看