没时间试qt5

发布: 2013-08-14 13:39

最近qt5发展的相当不错,我却没时间再跟上qt的步伐了。

想起来整整跟了qt4一代,现在扔下可惜,有时间再继续吧。

现在有些演示工具,测试程序还用的qt开发的界面,

偶尔碰到一点迁移到qt5的问题,随手改过来继续用了。

最近遇到的迁移问题,
1)QString.toAscii() -> QString.toLatin1()
2) FileDialog类需要包含
3) QByteArray.signature() -> QByteArray.methodSignature();
4) QHttpRequestHeader类去掉了
[code type="c"]
/*
simple Qt4 class emulater
*/

#if QT_VERSION >= 0x050000
QHttpRequestHeader::QHttpRequestHeader(QString headerString)
{
this->mHeaderString = headerString;

QStringList hdrs = headerString.split("\r\n");
QStringList hdrkv;
for (int i = 0; i < hdrs.size(); i++) {
if (hdrs.at(i).trimmed().isEmpty()) break;
if (i == 0) {
hdrkv = hdrs.at(i).split(" ");
this->mMethod = hdrkv.at(0);
} else {
hdrkv = hdrs.at(i).split(":");
this->mHeaders[hdrkv.at(0)] = hdrkv.at(1).trimmed();
}
}
}

bool QHttpRequestHeader::isValid()
{
if (this->mHeaderString.isEmpty()) return false;
if (this->mMethod != "GET" && this->mMethod != "POST") return false;
if (this->mHeaders.size() < 2) return false;
return true;
}

QString QHttpRequestHeader::method()
{
return this->mMethod;
}

uint QHttpRequestHeader::contentLength() const
{
uint clen = 0;

clen = this->mHeaders.value("Content-Length").toUInt();

return clen;
}

QHttpResponseHeader::QHttpResponseHeader(int code, QString text)
{
this->mCode = code;
this->mText = text;
}

void QHttpResponseHeader::setValue(const QString &key, const QString &value)
{
this->mHeaders[key] = value;
}

QString QHttpResponseHeader::toString() const
{
QMapIterator it(this->mHeaders);
QString hdrstr;

hdrstr += QString("HTTP/1.1 %1 %2\r\n").arg(this->mCode).arg(this->mText);
while (it.hasNext()) {
it.next();
hdrstr += it.key() + ": " + it.value() + "\r\n";
}
hdrstr += "\r\n";

return hdrstr;
}

#endif

[/code]

先碰到了这些,以后遇到再整理。



原文: http://qtchina.tk/?q=node/755

Powered by zexport