题
QUrl url("bword://blood transfusion");
QString res = url.toString();
为什么我得到字符串“ bword:”而不是“ bword://输血”?
如何获得Qurl的字符串“ bword://输血”?
解决方案
URL语法可能很复杂,请参阅 维基百科文章. 。问题是您的URL不包含 权威 字段,它只有 方案 字段“ bword”和 小路 “ //输血”。并根据 RFC3986-统一资源标识符(URI):通用语法:
当不存在权威时,路径不能以两个斜杠字符开始(“ //”)。
因此您的URL无效(尽管 isValid()
返回true)。将您的代码更改为:
QUrl url("bword:/blood transfusion");
QString res = url.toString();
不隶属于 StackOverflow