精华内容
下载资源
问答
  • QList interfaceList = QNetworkInterface::allInterfaces(); for (int i = 0; i (); i++) { QNetworkInterface interf = interface... //子网掩码 QString bcast = entry.broadcast().toString(); //广播地址 } }

    QList<QNetworkInterface> interfaceList = QNetworkInterface::allInterfaces();    
        for (int i = 0; i < interfaceList.count(); i++)
        {
            QNetworkInterface interf = interfaceList.at(i);
            interf.humanReadableName(); //接口名称(网卡)
                
            // 读取一个IP地址列表        
            QList<QNetworkAddressEntry> entryList = interf.addressEntries();
            for(int j = 0; j < entryList.count(); j++)        
            {            
                QNetworkAddressEntry entry = entryList.at(j);            
                QString ip = entry.ip().toString();                             //IP地址
                QString mask = entry.netmask().toString();            //子网掩码
                QString bcast = entry.broadcast().toString();          //广播地址        
            }    
        }

    展开全文
  • 最重要的一步,先在工程pro文件添加 QT += network   用到头文件 QHostInfo QNetworkInterface   函数: (只写出返回类型,没有具体到是否const QHostInfo QHostInfo::localHostName(); 静态函数,获取...

    最重要的一步,先在工程pro文件添加 QT += network

     

    用到头文件

    QHostInfo

    QNetworkInterface

     

    函数: (只写出返回类型,没有具体到是否const

    QHostInfo

    QHostInfo::localHostName(); 静态函数,获取主机名

    QHostInfo::fromName(hostName); 静态函数,通过主机名获取一个HostInfo对象

    QList<QHostAddress> addresses(); 返回一个HostAddress列表

    QHostAddress

    hostAddress.toString(); 将地址作为str返回

     

    QNetworkInterface

    QList<QNetworkAddressEntry> addressEntries();  返回一个AddressEntry列表

    QList<QHostAddress> allAddress(); 静态函数,返回一个HostAddress列表

    QString name(); 返回设备名(网卡

    QString hardwareAddress(); 返回硬件地址(MAC

     

    QNetworkAddressEntry

    entry.ip().toString(); 获取IP地址

    entry.netmask().toString(); 获取子网掩码

    entry.broadcast().toString(); 获取广播地址

     

    例子效果:

     

    代码:

    槽函数

    void NetInfoWidget::getLocalHostInfo()
    {
        //获取主机名
        QString hostName = QHostInfo::localHostName();
        this->setWindowTitle(hostName);
        //通过主机名获取一个hostInfo对象
        QHostInfo hostInfo = QHostInfo::fromName(hostName);
        //获取一个address列表
        QList<QHostAddress> list = hostInfo.addresses();
        QString ipAddress = "";
        for(int i = 0; i < list.length(); ++i){
    
            //address.toString() 得到str格式的ip地址
            ipAddress += list.at(i).toString() + "\n";
        }
    
        //获取一个interface列表,通过interface中的entry来获取信息
        //在addRootNode函数中获取信息并设置treeWidget的内容(用于显示的控件为QTreeWiget
        QList<QNetworkInterface> interfaceList = QNetworkInterface::allInterfaces();
        foreach(QNetworkInterface interface , interfaceList){
            addRootNode(&interface);
        }
    
        QMessageBox::information(this, "详细信息", ipAddress);
    }

    获取信息并给treeWidget添加节点

    void NetInfoWidget::addRootNode(QNetworkInterface *interface)
    {
        QTreeWidgetItem * root = new QTreeWidgetItem(treeWidget);
        //获取到设备名(网卡
        root->setText(0,interface->name());
        //获取硬件地址(MAC
        root->setText(1,interface->hardwareAddress());
    
        //拿到entry列表,获取entry对象中的信息
        QList<QNetworkAddressEntry> entryList = interface->addressEntries();
        foreach(QNetworkAddressEntry entry , entryList){
            QTreeWidgetItem * ipAddressItem = new QTreeWidgetItem(root);
            ipAddressItem->setText(0, "ip地址");
            ipAddressItem->setText(1, entry.ip().toString());
            QTreeWidgetItem * netMaskItem = new QTreeWidgetItem(root);
            netMaskItem->setText(0, "子网掩码");
            netMaskItem->setText(1, entry.netmask().toString());
            QTreeWidgetItem * broadcastItem = new QTreeWidgetItem(root);
            broadcastItem->setText(0, "广播地址");
            broadcastItem->setText(1, entry.broadcast().toString());
    
        }
    }

     

    展开全文
  • 获取本机IP函数 QString getIp() { QString myIp; QList<QHostAddress> ipList = QNetworkInterface::allAddresses(); for (int i = 0; i < ipList.size(); ++i) // 获取第一个本主机的IPv4地址 { if...

    获取本机IP函数

    QString getIp()
    {
        QString myIp;
        QList<QHostAddress> ipList = QNetworkInterface::allAddresses();
        for (int i = 0; i < ipList.size(); ++i)	 // 获取第一个本主机的IPv4地址
        {
               if (ipList.at(i) != QHostAddress::LocalHost && ipList.at(i).toIPv4Address())
               {
                   myIp= ipList.at(i).toString();
                   break;
               }
         }
         if (myIp.isEmpty())	 // 如果没有找到,则使用本地IP
            myIp= QHostAddress(QHostAddress::LocalHost).toString();
         return myIp;
    }
    

    获取本机MAC地址函数

    QString getMAC()
    {
      QString myMAC;
      auto interfaces = QNetworkInterface::allInterfaces();
      for (int i = 0; i < interfaces.size(); i++)
       {
          if (interfaces.at(i).isValid())
          {
              myMAC= interfaces.at(i).hardwareAddress();
              break;
          }
      }
      return myMAC;
    

    读取网卡名、IP地址、子网掩码及广播地址

    	QList<QNetworkInterface> interfaceList = QNetworkInterface::allInterfaces();    
        for (int i = 0; i < interfaceList.count(); i++)
        {
            QNetworkInterface interf = interfaceList.at(i);
            interf.humanReadableName(); //接口名称(网卡)
            QList<QNetworkAddressEntry> entryList = interf.addressEntries(); // 读取一个IP地址列表 
            for(int j = 0; j < entryList.count(); j++)        
            {            
                QNetworkAddressEntry entry = entryList.at(j);            
                QString ip = entry.ip().toString();                   //IP地址
                QString mask = entry.netmask().toString();            //子网掩码
                QString bcast = entry.broadcast().toString();         //广播地址        
            }    
        }
    

    以上代码 实现类及其对应函数
    1、QHostInfo类

    函数功能
    QHostInfo::localHostName()静态函数,获取主机名
    QHostInfo::fromName(hostName)静态函数,通过主机名获取一个HostInfo对象
    QList<QHostAddress> addresses()返回一个HostAddress列表

    2、QHostAddress类

    函数功能
    hostAddress.toString()将地址作为str返回

    3、QNetworkInterface类

    函数功能
    QList<QNetworkAddressEntry> addressEntries()返回一个AddressEntry列表
    QList<QHostAddress> allAddress()静态函数,返回一个HostAddress列表
    QString name()返回网卡设备名
    QString hardwareAddress()返回硬件地址(MAC)
    QList<QNetworkInterface> allInterfaces()静态函数, 读取所有网卡信息

    4、QNetworkAddressEntry类

    函数功能
    entry.ip().toString()获取IP地址
    entry.netmask().toString()获取子网掩码
    entry.broadcast().toString()获取广播地址
    展开全文
  • ui.lineEdit->setInputMask("000.000.000.000;0"); 可查阅手册进行其它格式化匹配

    在这里插入图片描述

    ui.lineEdit->setInputMask("000.000.000.000;0");
    

    除了以上设置还可以设置如,只能输入整数
    在这里插入图片描述
    以下只能输入-1000到1000(包含)

    ui.setupUi(this);
    ui.lineEdit->setPlaceholderText(QString::fromLocal8Bit("只能输入整型"));
    QIntValidator *ival = new QIntValidator();
    ival->setRange(-1000, 1000);//设置范围
    ui.lineEdit->setValidator(ival);
    

    可查阅手册进行其它格式化匹配

    展开全文
  • Qt 正则 IP输入框 QRegExp rx("\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b"); ui->lineEdit_ip->setValidator(new QRegExpValidator(rx)); ui->...
  • 获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_localmachine_name() { QString machineName = QHostInfo::localHostName();...
  • Qt ip地址与子网掩码合法性校验

    千次阅读 2017-03-05 09:20:17
    2、子网掩码合法性校验 static bool checkMask(QString mask) { QRegExp rx2("^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"); if( !rx2.exactMatch(mask) ) { return false; } else { QString...
  • 无线网络信息可以通过api直接获取,无需特别处理,下面主要是机顶盒等android设备使用有线网络时网络信息的获取。 1.网络类型 /** * 获取网络类型 * @return * -1:未知网络 * 0:无网络 * 1:wifi...
  • 由ip计算子网掩码和默认网关

    万次阅读 2017-02-23 11:25:26
    超过255台电脑IP和子网掩码的一些知识我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP  A类IP段 0.0.0.0 到127.255.255.255  B类IP段 128.0.0.0 到191.255.255.255  C类IP段 192.0....
  • (2)修改指定IP、子网掩码、默认网关、DNSwebsetclient.cc#include "websetclient.hpp" #include &lt;QGroupBox&gt; #include &lt;QLabel&gt; #include &lt;QFile&gt; #include ...
  • 获取主机名称/* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_localmachine_name() { QString machineName = QHostInfo::localHostName(); ...
  • 由数字转换到子网掩码

    千次阅读 2017-01-04 18:22:20
    在描述子网掩码时,我们经常用一个数字来表示,例如192.168.1.1/24,斜线'/'后的24就表示子网掩码为255.255.255.0,而在网络编程的代码中我们更是用一个u8来表示掩码,因为完全没有必要传递一个字符串来表示掩码(当然用u...
  • 最近在进行的ONVIF任务,有一个接口是设置IP的,叫SetNetworkInterfaces,可以设置包括网络速率、双工、自动协商等功能,还可以改IP。但里面有子网掩码字段,只有一个叫PrefixLenght的,直译为前缀长度。
  • 注意这不VB原码,这是EXE程序。...(1)一键快速设置自己的IP地址,子网掩码,默认网关,首先 DNS,备用 DNS,网络 MAC.! (2)方便不熟悉网络的朋友,查看自己的网络MAC地址,! (3)查看某IP是否在线!
  • Qt 获取本机网络信息

    2020-04-08 18:07:16
    下面我们就讲解如何获取自己电脑的IP地址以及其他网络信息,我们会涉及到网络模块(QtNetworkModule)中的QHostInfo,QHostAddress,QNetworkInterface和QNetworkAddressEntry等几个类。 pro 文件 一、使用...
  • 直接通过windows批处理修改网络连接的IP、子网掩码、网关、dns。 1.设置为静态分配IP地址批处理如下: @title 网络设置批处理 @color 0B @echo off set NIC="本地连接" //根据实际情况当使用无线...
  • 验证子网掩码的合法性

    千次阅读 2010-07-16 16:23:55
    /*** 函数名: validateMask* 函数功能: 验证子网掩码的合法性* 函数作者: 236F(fuwei236#gmail.com)* 传入参数: MaskStr:点分十进制的子网掩码(如:255.255.255.192)* 主调函数: * 调用函...
  • qt获取IP、网关地址

    千次阅读 2017-03-17 20:42:10
    最近由于项目需要使用socket通信,要获取网关地址,于是上网搜了一下 首先我们要添加iphlpapi.lib库,从而获得windows下一些基本的网络连接信息。 函数 作用 GetNumberOfInterfaces() 获取当前的网络接口数目 ...
  • 子网掩码

    2019-07-30 14:45:21
    将两台以上计算机组网是件很容易的事,接入同一个交换机,设置同一个网段的IP地址和一样的子网掩码就搞定了。说起子网掩码大家都不陌生,就是那个默认的“255.255.255.0”,可子网掩码到底是什么,究竟有什么作用,...
  • //校验IP地址,子网掩码和默认网关的关系是否正确。w是默认网关,y是子网掩码,i是IP地址。function checkIp(w,y,i){ var ws = w.split('.'); var ys = y.split('.'); var is = i.split('.'); for(var index in ...
  • 子网掩码转换:长度点分10进制

    千次阅读 2012-06-01 10:23:55
    子网掩码常见的表示方法有两种: 一种用长度表示, 比如24, 表示掩码中含有二进制1的个数 一种用点分10进制表示,比如255.255.255.0   以下是我写的一个二者之间相互转换的函数,请参考:   ...
  • 1、简介用QT做网络通讯数据传输时,要先获取本机的网卡的IP地址、mac地址、mask地址和广播IP,以便创建socket...(3)、getNetmask():获取本机网卡的子网掩码。 (4)、getBroadcastIP():获取本机网卡的广播IP地址...
  • Qt获取Ip

    2019-03-30 17:05:28
    主要使用到的类有: ...//QHostInfo类作用,获取主机名,也可以通过主机名来查找IP地址,或者通过IP地址来反向查找主机名。 QString localHostName = QHostInfo::localHostName(); qDebug() << "...
  • Qt获取本机地址

    2020-03-12 23:36:32
    //每个网络接口中有0到多个IP地址,每个IP有选择性的和一个子网掩码和广播地址关联 QList entryList = interfacae.addressEntries(); for(int j = 0; j (); ++j) { QNetworkAddressEntry entry = entryList.at(j); ...
  • 在写程序时经常需要判断用户输入的IP地址的有效性,以及掩码的有效性,今天我写了一个简单的类实现这两个功能。 #ifndef NETPARAMETERACK_H #define NETPARAMETERACK_H #include <QString> #include <...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,015
精华内容 406
关键字:

qt获取子网掩码