QUrl 的QUrlQuery用法

该博客主要介绍QUrl的QQueryQuery用法,涉及信息技术中Qt开发相关内容,能帮助开发者了解如何运用QQueryQuery处理QUrl相关操作。

https://www.freesion.com/article/56921228249/

### QUrl 使用教程 #### 创建 URL 对象 `QUrl` 是 Qt 中用于表示统一资源定位符 (URL) 的类。可以通过字符串创建 `QUrl` 对象。 ```cpp #include <QUrl> #include <QDebug> int main() { QString urlString = "https://www.example.com/path?query=123"; QUrl url(urlString); qDebug() << "Scheme:" << url.scheme(); // Scheme: https qDebug() << "Host:" << url.host(); // Host: www.example.com qDebug() << "Path:" << url.path(); // Path: /path qDebug() << "Query:" << url.query(); // Query: query=123 return 0; } ``` #### 设置和获取 URL 组件 可以单独设置或获取 URL 各个部分,如方案、主机名、端口等。 ```cpp url.setScheme("http"); qDebug() << "New scheme is" << url.scheme(); url.setPort(8080); qDebug() << "Port set to" << url.port(); ``` #### 编码解码操作 为了确保特殊字符被正确处理,在构建 URL 字符串时应考虑编码问题。 ```cpp QString encodedPath = QUrl::toPercentEncoding("/some path with spaces and & special chars", "!$&'()*+,;="); qDebug() << "Encoded path:" << encodedPath; // Decoding an already percent-encoded string back into its original form. QString decodedPath = QUrl::fromPercentEncoding(encodedPath.toLatin1()); qDebug() << "Decoded path:" << decodedPath; ``` #### 查询参数管理 对于查询字符串中的键值对,提供了便捷的方法来添加、移除以及遍历这些项。 ```cpp QUrlQuery query; query.addQueryItem("key1", "value1"); query.addQueryItem("key2", "value2"); // Append the query items to a base URL without any existing queries. QUrl baseUrl("http://example.org/"); baseUrl.setQuery(query); foreach(const QPair<QString, QString>& pair, query.queryItems()) { qDebug() << "Key:" << pair.first << ", Value:" << pair.second; } // Remove all occurrences of 'key1'. query.removeQueryItem("key1"); ``` 通过以上方式,可以在 Qt 应用程序中灵活地构造并解析 URLs[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值