Qt之QUrl和QUrlQuery
创始人
2025-05-29 04:10:51

QUrl

QUrl 类提供了一个方便的接口使用 URLs。

最常见的使用QUrl 的方式是通过构造函数来初始化,传递一个 QString 参数。

QUrl url("https://github.com/");

也可以逐渐地构造 URL,通过调用 setScheme()、setUserName()、setPassword()、setHost()、setPort()、setPath()、setQuery() 和 setFragment()。一些方便的函数也可供使用:setAuthority() 设置用户名、密码、主机和端口。setUserInfo() 设置用户名和密码。

其中query

query 指查询字符串,可选,用于给动态网页(例如:使用 CGI、ISAPI、PHP/JSP/ASP/ASP、.NET 等技术制作的网页)传递参数,可有多个参数,用 & 隔开,每个参数的名和值用 = 隔开。

主要通过调用setQuery(QUrlQuery )来设置。

QUrlQuery

QUrlQuery 类提供了一种方法来操纵 URL 查询中的 key-value 对。

上述的查询字符串在 URL 中 被用来传输选项,通常解码为多个 key-value 对。其列表包含了的两个条目,键为“type”和 “color”。

添加组合成url

  1. addQueryItem

// 基本 URL
QString baseUrl = "http://www.zhihu.com/search";
QUrl url(baseUrl);// key-value 对
QUrlQuery query;
query.addQueryItem("type", "content");
query.addQueryItem("q", "Qt");url.setQuery(query);qDebug() << url;
  1. 使用 setQueryItems:

// 基本 URL
QString baseUrl = "http://www.zhihu.com/search";
QUrl url(baseUrl);QUrlQuery query;// key-value 对
QPair pair;
pair.first = "type";
pair.second = "content";QPair pair2;
pair2.first = "q";
pair2.second = "Qt";QList > items;
items << pair << pair2;query.setQueryItems(items);
url.setQuery(query);qDebug() << url;
  1. 使用 setQuery:

// 基本 URL
QString baseUrl = "http://www.zhihu.com/search";
QUrl url(baseUrl);// 查询字符串
QUrlQuery query;
query.setQuery("type=content&q=Qt");url.setQuery(query);qDebug() << url;

常见操作

  1. 查询所有的 key-value 对:

QList > list = query.queryItems();
  1. 查询指定 key 对应的 value:

QString value = query.queryItemValue("q");
  1. 查询指定 key 是否存在:

bool exist = query.hasQueryItem("q");
  1. 删除指定 key 对应的 key-value 对:

query.removeQueryItem("q");

相关内容

热门资讯

小红书博主吧啦赋能家居博主转型... 在山东威海的商业街上,吧啦270平米家居馆陈列着精致的餐具与小家电,为顾客提供一站式的服务。 然而...
中国独角兽企业总估值超1.2万... 新华社深圳7月19日电(记者印朋)2025中国(深圳)独角兽企业大会18日在深圳举行,会上发布的研究...
A City to reme... A City to RememberEssay 1: Exploring the Historica...
“二通一达”H1量增价跌 业内... 财联社7月19日讯(记者 胡皓琼)快递行业再陷“低价阴霾”,A股“二通一达”H1同比量增价跌。财联社...
深圳中考英语必备作文范文(精... 深圳中考英语必备作文范文 篇一How to Maintain a Healthy Lifestyle...