本文整理汇总了C++中WeatherData::tempString方法的典型用法代码示例。如果您正苦于以下问题:C++ WeatherData::tempString方法的具体用法?C++ WeatherData::tempString怎么用?C++ WeatherData::tempString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WeatherData
的用法示例。
在下文中一共展示了WeatherData::tempString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleWeatherNetworkData
void AppModel::handleWeatherNetworkData(QObject *replyObj)
{
QNetworkReply *networkReply = qobject_cast<QNetworkReply*>(replyObj);
if (!networkReply)
return;
if (!networkReply->error()) {
QString xmlData = QString::fromUtf8(networkReply->readAll());
foreach (WeatherData *inf, d->forecast)
delete inf;
d->forecast.clear();
QXmlStreamReader xml(xmlData);
while (!xml.atEnd()) {
xml.readNext();
if (xml.name() == "current_conditions") {
while (!xml.atEnd()) {
xml.readNext();
if (xml.name() == "current_conditions")
break;
if (xml.tokenType() == QXmlStreamReader::StartElement) {
if (xml.name() == "condition") {
d->now.setWeatherDesc(GET_DATA_ATTR);
} else if (xml.name() == "icon") {
d->now.setWeather(google2name(GET_DATA_ATTR));
} else if (xml.name() == "temp_f") {
d->now.setTempString(GET_DATA_ATTR + QChar(176));
}
}
}
}
if (xml.name() == "forecast_conditions") {
WeatherData *cur = NULL;
while (!xml.atEnd()) {
xml.readNext();
if (xml.name() == "forecast_conditions") {
if (cur) {
d->forecast.append(cur);
}
break;
} else if (xml.tokenType() == QXmlStreamReader::StartElement) {
if (!cur)
cur = new WeatherData();
if (xml.name() == "day_of_week") {
cur->setDayOfWeek(GET_DATA_ATTR);
} else if (xml.name() == "icon") {
cur->setWeather(google2name(GET_DATA_ATTR));
} else if (xml.name() == "low") {
QString v = cur->tempString();
QStringList parts = v.split("/");
if (parts.size() >= 1)
parts.replace(0, GET_DATA_ATTR + QChar(176));
if (parts.size() == 0)
parts.append(GET_DATA_ATTR + QChar(176));
cur->setTempString(parts.join("/"));
} else if (xml.name() == "high") {
QString v = cur->tempString();
QStringList parts = v.split("/");
if (parts.size() == 2)
parts.replace(1, GET_DATA_ATTR + QChar(176));
if (parts.size() == 0)
parts.append("");
if (parts.size() == 1)
parts.append(GET_DATA_ATTR + QChar(176));
cur->setTempString(parts.join("/"));
}
}
}
}
}
if (!(d->ready)) {
d->ready = true;
emit readyChanged();
}
emit weatherChanged();
}
networkReply->deleteLater();
}