我有一个QUrl
这样的:https://www.example.com/index.html#token=SomeToken&user=guest
我想获取 token 的值,即SomeToken
。我知道方法QUrl::queryItemValue
,所以此代码必须有效:
void MainWindow::get_token(QUrl url)
{
url = url.toString().replace("?","#");
QString token = url.queryItemValue("token");
}
但是在
Qt5
中,我无法使用此方法,如何解析网址? 最佳答案
QUrlQuery
中有一个新的Qt5
类。新的QUrl
目前尚不支持此方法,因此您应该使用QUrlQuery
进行解析(它具有this和其他方法)。使用
QUrlQuery query(url);
qDebug() << query.queryItemValue("token");
注意:请谨慎使用
replace
,因为QUrlQuery
可为您提供正确的结果?token=SomeToken
不是#token=SomeToken
http://qt-project.org/doc/qt-5/qurlquery.html
关于c++ - QT 5中的QUrl解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26722615/