4との互換性を確保するためにQt
、ファイルの先頭に次の行を追加します。
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
# include <QUrlQuery>
#endif
これは、5.0.0以降に対してコンパイルしている場合QUrlQuery
にのみdになることを意味します。#include
Qt
次に、質問で指定されたコードの上に次の行を追加します。
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
次に、質問で指定されたコードの下にこのコードを挿入します。
#else
QUrlQuery q;
foreach (const settings::PostItem & pi, settings.post)
q.addQueryItem(pi.name, pi.value);
postData = q.query(QUrl::FullyEncoded).toUtf8();
#endif
注:はaであり、を返すtoUtf8()
ために使用されます。5で非推奨になりましたが、UTF-8は、必要な場合にのみUnicode文字を使用するASCIIのサブセットです。postData
QByteArray
query()
QString
toAscii()
Qt
編集QUrl
: URL部分を持つリアルを使用したい場合は、これを追加します:
QUrl url;
url.setQuery(q);