本文整理汇总了C++中WeatherData::setTemperature方法的典型用法代码示例。如果您正苦于以下问题:C++ WeatherData::setTemperature方法的具体用法?C++ WeatherData::setTemperature怎么用?C++ WeatherData::setTemperature使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WeatherData
的用法示例。
在下文中一共展示了WeatherData::setTemperature方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleForecastNetworkData
void AppModel::handleForecastNetworkData(QObject *replyObj)
{
QNetworkReply *networkReply = qobject_cast<QNetworkReply*>(replyObj);
if (!networkReply)
return;
if (!networkReply->error()) {
QJsonDocument document = QJsonDocument::fromJson(networkReply->readAll());
QJsonObject jo;
QJsonValue jv;
QJsonObject root = document.object();
jv = root.value(QStringLiteral("list"));
if (!jv.isArray())
qWarning() << "Invalid forecast object";
QJsonArray ja = jv.toArray();
//we need 4 days of forecast -> first entry is today
if (ja.count() != 5)
qWarning() << "Invalid forecast object";
QString data;
for (int i = 1; i<ja.count(); i++) {
WeatherData *forecastEntry = new WeatherData();
//min/max temperature
QJsonObject subtree = ja.at(i).toObject();
jo = subtree.value(QStringLiteral("temp")).toObject();
jv = jo.value(QStringLiteral("min"));
data.clear();
data += niceTemperatureString(jv.toDouble());
data += QChar('/');
jv = jo.value(QStringLiteral("max"));
data += niceTemperatureString(jv.toDouble());
forecastEntry->setTemperature(data);
//get date
jv = subtree.value(QStringLiteral("dt"));
QDateTime dt = QDateTime::fromMSecsSinceEpoch((qint64)jv.toDouble()*1000);
forecastEntry->setDayOfWeek(dt.date().toString(QStringLiteral("ddd")));
//get icon
QJsonArray weatherArray = subtree.value(QStringLiteral("weather")).toArray();
jo = weatherArray.at(0).toObject();
forecastEntry->setWeatherIcon(jo.value(QStringLiteral("icon")).toString());
//get description
forecastEntry->setWeatherDescription(jo.value(QStringLiteral("description")).toString());
d->forecast.append(forecastEntry);
}
if (!(d->ready)) {
d->ready = true;
emit readyChanged();
}
emit weatherChanged();
}
networkReply->deleteLater();
}
示例2: getAdditionalItems
void FakeWeatherService::getAdditionalItems( const GeoDataLatLonAltBox& box,
qint32 number )
{
Q_UNUSED( box );
Q_UNUSED( number );
FakeWeatherItem *item = new FakeWeatherItem( this );
item->setStationName( "Fake" );
item->setPriority( 0 );
item->setCoordinate( GeoDataCoordinates( 1, 1 ) );
item->setId( "fake1" );
WeatherData data;
data.setCondition( WeatherData::ClearDay );
data.setTemperature( 14.0, WeatherData::Celsius );
item->setCurrentWeather( data );
emit createdItems( QList<AbstractDataPluginItem*>() << item );
}
示例3: coordinates
AbstractDataPluginItem *GeoNamesWeatherService::parse( const QScriptValue &value )
{
QString condition = value.property( "weatherCondition" ).toString();
QString clouds = value.property( "clouds" ).toString();
int windDirection = value.property( "windDirection" ).toInteger();
QString id = value.property( "ICAO" ).toString();
int temperature = value.property( "temperature" ).toInteger();
int windSpeed = value.property( "windSpeed" ).toInteger();
int humidity = value.property( "humidity" ).toInteger();
double pressure = value.property( "seaLevelPressure" ).toNumber();
QString name = value.property( "stationName" ).toString();
QDateTime date = QDateTime::fromString(
value.property( "datetime" ).toString(), "yyyy-MM-dd hh:mm:ss" );
double longitude = value.property( "lng" ).toNumber();
double latitude = value.property( "lat" ).toNumber();
if ( !id.isEmpty() ) {
WeatherData data;
// Weather condition
if ( clouds != "n/a" && condition != "n/a" ) {
if ( dayConditions.contains( condition ) ) {
data.setCondition( dayConditions[condition] );
} else {
mDebug() << "UNHANDLED GEONAMES WEATHER CONDITION, PLEASE REPORT: " << condition;
}
} else {
if ( dayConditions.contains( clouds ) ) {
data.setCondition( dayConditions[clouds] );
} else {
mDebug() << "UNHANDLED GEONAMES CLOUDS CONDITION, PLEASE REPORT: " << clouds;
}
}
// Wind direction. Finds the closest direction from windDirections array.
if ( windDirection >= 0 ) {
double tickSpacing = 360.0 / windDirections.size();
data.setWindDirection( windDirections[int(( windDirection / tickSpacing ) + 0.5)
% windDirections.size()] );
}
// Wind speed
if ( windSpeed != 0 ) {
data.setWindSpeed( windSpeed, WeatherData::knots );
}
// Temperature
data.setTemperature( temperature, WeatherData::Celsius );
// Humidity
data.setHumidity( humidity );
// Pressure
if ( pressure != 0.0 ) {
data.setPressure( pressure, WeatherData::HectoPascal );
}
// Date
data.setDataDate( date.date() );
data.setPublishingTime( date );
// ID
id = "geonames_" + id;
GeoDataCoordinates coordinates( longitude, latitude, 0.0, GeoDataCoordinates::Degree );
GeoNamesWeatherItem *item = new GeoNamesWeatherItem( this );
item->setMarbleWidget( marbleWidget() );
item->setId( id );
item->setCoordinate( coordinates );
item->setPriority( 0 );
item->setStationName( name );
item->setCurrentWeather( data );
return item;
} else {
return 0;
}
}