首页 > 其他分享 >Qt中获得IP、MAC地址、用户名、机器名

Qt中获得IP、MAC地址、用户名、机器名

时间:2022-09-28 20:07:14浏览次数:63  
标签:listAddress return Qt Neti IP 网卡 MAC QString NetList


// 涉及到网络模块时记得在工程问题,加上:   QT += network

// 并且根据相应提示,添加相应的头文件:#include <QtNetwork>

// 获得ip地址
QString getIpAdress()
{
QString localIPAddress = "";
QList <QHostAddress>listAddress = QNetworkInterface::allAddresses();
for(int j = 0; j < listAddress.size(); j++){
if(!listAddress.at(j).isNull()
&& listAddress.at(j).protocol() == QAbstractSocket::IPv4Protocol
&& listAddress.at(j) != QHostAddress::LocalHost){
localIPAddress = listAddress.at(j).toString();
return localIPAddress;
}
}
return localIPAddress;
}


//获得MAC地址
QStringUSBMainUI::getMACAdress()
{
QList<QNetworkInterface> NetList;//网卡链表
int NetCount = 0;//网卡个数
int Neti=0;
QNetworkInterface thisNet;//所要使用的网卡

NetList = QNetworkInterface::allInterfaces();//获取所有网卡信息
NetCount = NetList.count();//统计网卡个数

for(Neti = 0; Neti < NetCount; Neti++){//遍历所有网卡
if( NetList[Neti].isValid() ){//判断该网卡是否是合法
thisNet = NetList[Neti];//将该网卡置为当前网卡
break;
}
}
return(thisNet.hardwareAddress());//获取该网卡的MAC
}


// 获得用户名
QString getUserName()
{
QString userName = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
userName = userName.section("/", -1, -1);
return userName;
}


// 获得机器名字
QString getMachineName()
{
QString localHostName = QHostInfo::localHostName();
return localHostName;
}


标签:listAddress,return,Qt,Neti,IP,网卡,MAC,QString,NetList
From: https://blog.51cto.com/u_3002289/5720747

相关文章

  • 虚拟机挂载到开发板的脚本文件,可以指定挂载目录,能自动设置开发板的ip
    虚拟机挂载到开发板的脚本文件,可以指定挂载目录,能自动设置开发板的ip:echo-e"未占用IP\n">ip#把ip重定向到ip文件里,作为记录src=10.221.0.71:/home/wencong#虚拟机需......
  • 如何在linux下检测(自身)IP冲突
    最近遇到一个需求,或者说是一个用户现场问题。我们设备先安装,设置dhcp模式获取ip进行联网,后来又安装了其他设备,但该设备是手动设置的静态ip地址,正好与我们设备冲突......
  • HandBrake for Mac中文版mac视频解码器软件
    HandBrakeforMac是一款适用于Mac系统的视频解码器。用户可以使用HandBrakemac版将各种类型的DVD快速转换为MPEG,而且支持任何类似的VIDEO_TS文件夹、.VOB、.TS文件等DVD的......
  • 使用Openfeign远程调用时参数为MultipartFile的使用注意事项
    摘要我们在使用openfeign进行远程调用时如果使用到参数为MultipartFile的情况时会有一些些许的差别注意事项//1.@RequestPart替换@RequestParam//2.consumes=MediaTy......
  • Qt 5.4.2 Linux环境搭建
    1)访问官方网站:http://www.qt.io/download-open-source/2)选择离线安装包3)选择合适的安装包下载(32位或64位)我这里选择的是 Qt5.4.2forLinux32-bit(535MB),​​以......
  • Qt入门学习——Qt 5 帮助文档的使用
    学习图形界面开发,肯定离不开帮助文档的使用,因为它不像C语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必要去记,用到什么......
  • QTableWidget的使用
    QTableWidget是Qt程序中常用的显示数据表格的空间。QTableWidget只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元......
  • Java Script 原型链原理
    所有对象都有隐式原型;原型也是对象,也有隐式原型.functionUser(){}console.log(User.prototype);functionUser(){}varu=newUser();console.log(u.hasOwnProper......
  • pyqt入门
    第一次接触pyqt是在20年刚毕业的时候,时隔两年,恰逢闲暇,正好回过头来对这个模块的知识进行一个整理,不会做系统化的整理,我打算可能会围绕之前做过的小工具对其涉及到的控......
  • qt的基本控件——列表控件
    列表控件1、listWIdgetQListWidget类列表框控件用来加载并显示多个列表项。QListWidgetItem类就是列表项类双击可以直接修改,添加多少行,也有属性可以修改字体颜色大小等......