1
QUrl url("bword://blood transfusion");
QString res = url.toString();

为什么我得到字符串“bword:”而不是“bword://blood transfusion”?

如何从 QUrl 中获取字符串“bword://blood transfusion”?

4

1 回答 1

4

URL 语法可能相当复杂,请参阅此Wikipedia 文章。问题是您的 URL 不包含权限字段,它只有方案字段“bword”和路径“//输血”。并且根据RFC3986 - Uniform Resource Identifier (URI): Generic Syntax

当权限不存在时,路径不能以两个斜杠字符(“//”)开头。

因此,您的 URL 无效(尽管isValid()返回 true)。将您的代码更改为:

QUrl url("bword:/blood transfusion");
QString res = url.toString();
于 2010-09-13T15:37:41.383 回答