Чтобы познакомиться с C ++ с помощью Qt, я делаю несколько (очень!) Простых проектов.Проект, который меня немного озадачил, - это то, что я называю «Детектором метеорологического сезона», который позволяет мне поиграть с QDate и QCalendarWidget.После запуска приложения пользователю предлагается выбрать дату из QCalendarWidget.QLabel выведет сезон, например, «Это весна!».Выражение IF используется для определения сезона.Как вы увидите из моего кода, я могу точно определить сезон только в течение определенного года (2020).Это потому, что мне еще предстоит выяснить, как «игнорировать» год и день выбранной даты в моем заявлении IF и использовать только месяц.Прочитав документацию, я чувствую, что мой ответ может быть как-то связан с int QDate::month() const
, но у меня ничего не получилось.То, что я хотел бы, является некоторым руководством относительно того, иду ли я в правильном направлении и, если так, как использовать month()
, пожалуйста.В южном полушарии метеорологическая весна, лето, осень и зима - сентябрь-ноябрь, декабрь-февраль, март-май и июнь-август соответственно.
void Seasons::on_calendarWidget_clicked(const QDate &date)
{
QDate may(2020, 5, 31);
QDate august(2020, 8, 31);
QDate november(2020, 11, 30);
QDate february(2021, 2, 28);
if(date > november && date < february)
{
ui->season->setText("It's summer!");
}
else if(date > february && date < may)
{
ui->season->setText("It's autumn!");
}
else if(date > may && date < august)
{
ui->season->setText("It's winter!");
}
else
{
ui->season->setText("It's spring!");
}
}
Неудачная попытка использования int QDate::month() const
:
if(date > date::month(11) && date < date::month(3))
{
ui->season->setText("It's summer!");
}
Ошибка:
C:\Users\Kaylyn\Desktop\QtCreator Projects\Seasons\seasons.cpp:24: error: 'date' is not a class or namespace
if(date > date::month(11) && date < date::month(3))
^