Qt获取IP地址
前言
每臺設備根據網絡設置可能會存在多個IP,通過Qt獲取IP的時候不能只取其中一個,這里的方法是通過Qt的接口取循環獲取,最終生成IP地址列表,然后連接成一個字符串。
正文
廢話不多說,直接看代碼。
QString ALMessager::getIPAddr() {QStringList ips;QList<QNetworkInterface> networkinterfaces = QNetworkInterface::allInterfaces();foreach (QNetworkInterface interface, networkinterfaces){QNetworkInterface::InterfaceFlags t_interFlags = interface.flags();if(t_interFlags & QNetworkInterface::IsUp &&t_interFlags & QNetworkInterface::IsRunning){foreach (QNetworkAddressEntry entry, interface.addressEntries()){if (entry.ip() != QHostAddress::LocalHost&& entry.ip().protocol() == QAbstractSocket::IPv4Protocol){ips.append(entry.ip().toString());}}}}return ips.join("|"); }代碼很簡單,直接用就好。如果存在多個IP,是通過”|”來分隔開的。
總結
- 上一篇: QML ListView悬浮标题栏
- 下一篇: QML中类似QMap的用法