简述
QUrl 类提供了一个方便的接口使用 URLs。
它可以解析和构造编码和未编码形式的 URLs。QUrl 也支持国际化域名(IDNs)。
详细描述
最常见的使用QUrl 的方式是通过构造函数来初始化,传递一个 QString 参数。
QUrl url("https://github.com/");
然而,也可以使用 setUrl()。
QUrl url;
url.setUrl("https://github.com/");
也可以逐渐地构造 URL,通过调用 setScheme()、setUserName()、setPassword()、setHost()、setPort()、setPath()、setQuery() 和 setFragment()。一些方便的函数也可供使用:setAuthority() 设置用户名、密码、主机和端口。setUserInfo() 设置用户名和密码。
URLs 可以用两种形式表示:编码或未编码。未编码形式适用于显示给用户,编码形式通常会发送到一个 Web 服务器。例如,未编码的URL "http://bühler.example.com/List of applicants.xml"
将被发送到服务器为 "http://xn--bhler-kva.example.com/List%20of%20applicants.xml"
。
可以使用 toString() 来获取 URL 人类可读的表示。这种表示方法适合以未编码形式将 URL 显示给用户。然而,编码的形式由 toEncoded() 返回,仅供内部使用,传递给 Web 服务器、邮件客户等。两种形式在技术上正确、明确地表示相同的 URL - 事实上,传递任何一种形式给 QUrl 的构造函数或使用 setUrl() 都将产生相同的 QUrl 对象。
QUrl 符合 RFC 3986 (统一资源标识符:通用的语法)中的