我有一个QUrl
,如下所示:https://www.example.com/index.html#token=SomeToken&user=guest
我想得到令牌的值,即SomeToken
。我知道QUrl::queryItemValue
方法,所以这段代码必须工作:
void MainWindow::get_token(QUrl url)
{
url = url.toString().replace("?","#");
QString token = url.queryItemValue("token");
}
但是在Qt5
中我不能使用这个方法,我如何解析url?
3条答案
按热度按时间oug3syen1#
在
Qt5
中有一个新的QUrlQuery
类,新的QUrl
还不支持这个方法,所以你应该使用QUrlQuery
来解析(它有这个和其他方法)。使用注意:使用
replace
时要小心,因为QUrlQuery
会提供正确的结果?token=SomeToken
不是#token=SomeToken
http://qt-project.org/doc/qt-5/qurlquery.html
yb3bgrhw2#
QUrlQuery queryItemValue方法在Qt 5.9中无法正常工作,因此我编写了自己的函数来解析GET参数
s3fp2yjn3#
我知道这个帖子很旧,但如果我的答案能帮助到某人,我分享:)
根据QT 5.15.2和QT 6.4.2进行测试