QUrl url("bword://blood transfusion");
QString res = url.toString();
为什么我得到字符串“bword:”而不是“bword://blood transfusion”?
如何从 QUrl 中获取字符串“bword://blood transfusion”?
URL 语法可能相当复杂,请参阅此Wikipedia 文章。问题是您的 URL 不包含权限字段,它只有方案字段“bword”和路径“//输血”。并且根据RFC3986 - Uniform Resource Identifier (URI): Generic Syntax:
当权限不存在时,路径不能以两个斜杠字符(“//”)开头。
因此,您的 URL 无效(尽管isValid()
返回 true)。将您的代码更改为:
QUrl url("bword:/blood transfusion");
QString res = url.toString();