c++ - Qt/C++ - 将 QHostAddress 转换为 QString

标签 c++ qt

如何将 QHostAddress 转换为 IPv4 格式的 QString

最佳答案

使用QHostAddress::toString() .

更新

如果您有一个封装了 IPv6 地址的 QHostAddress 实例(即 QHostAddress::protocol() 返回 QAbstractSocket::IPv6Protocol ), 必须先将地址转换为 IPv4 地址,然后再将 IPv4 地址转换为 QString:

QHostAddress ip6Address;
bool conversionOK = false;
QHostAddress ip4Address(ip6Address.toIPv4Address(&conversionOK));
QString ip4String;
if (conversionOK)
{
    ip4String = ip4Address.toString();
}

同样值得注意的是,上述 IP6 到 IP4 的转换不会对 Qt 4 起作用。它只对 Qt 5 起作用。

关于c++ - Qt/C++ - 将 QHostAddress 转换为 QString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16908812/

相关文章:

c++ - 有没有更简单的方法来过滤非字母字符? C++

c++ - QT/C++ 关于访问 UI 文件的另一个问题

c++ - 如何不在 OpenGL 中使用着色器覆盖顶点颜色?

c++ - 如何以用户友好的形式将 'double' 转换为 'string'

c++ - 从Spirit X3开始

linux - 在嵌入式 linux 平台上使用 QT 运行在 Windows 中创建的应用程序

c++ - 从 C++ 加载 QML 插件

c++ - QNetworkAccessManager uploadProgress 和 QProgressBar

c++ - Qt connect 无法识别 lambda 表达式

c++ - 具有一个参数和默认值的类模板