c++qtqt5qurl

QT4 > QT5 for uri.queryItems();


I am currently trying to translate this old code meant for QT4 into today's QT5. I need some help with the following:

bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out)
{
    // return if URI is not valid or is no bitcoin URI
    if(!uri.isValid() || uri.scheme() != QString("dimecoin"))
        return false;

    SendCoinsRecipient rv;
    rv.address = uri.path();
    rv.amount = 0;
    QList<QPair<QString, QString> > items = uri.queryItems();
    for (QList<QPair<QString, QString> >::iterator i = items.begin(); i != items.end(); i++)

From the above I am getting a:

error: no member named 'queryItems' in 'QUrl'
    QList<QPair<QString, QString> > items = uri.queryItems();
                                            ~~~ ^

Solution

  • In Qt5 you have to use QUrlQuery:

    [...]
    rv.amount = 0;
    QUrlQuery query(uri);
    QList<QPair<QString, QString> > items = query.queryItems();