Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: AlexMad от Июня 17, 2012, 22:41



Название: QDateEdit непонятные моменты с установкой даты.
Отправлено: AlexMad от Июня 17, 2012, 22:41
Делаю так:
Код:
  ui->DateForAllStart->date().setYMD(ui->DateForAllStart->date().year(), month+1, 1);
  ui->DateForAllEnd->date().setYMD(ui->DateForAllStart->date().year(), month+1, ui->DateForAllStart->date().daysInMonth() );
DateForAllStart не меняется.
Делаю так:
Код:
  QDate date;
  date.setDate(ui->DateForAllStart->date().year(), month+1, 1);

  ui->DateForAllStart->setDate(date);
  ui->DateForAllEnd->date().setYMD(ui->DateForAllStart->date().year(), month+1, ui->DateForAllStart->date().daysInMonth() );
Все работает. Мне непонятно, почему для DateForAllStart установка даты напрямую (date().setYMD) не работает, а для DateForAllEnd все проходит на ура?


Название: Re: QDateEdit непонятные моменты с установкой даты.
Отправлено: mutineer от Июня 17, 2012, 22:48
Вообще date() возвращает копию объекта QDate и установка вида date().setYMD не должна менять содержимое виджета


Название: Re: QDateEdit непонятные моменты с установкой даты.
Отправлено: AlexMad от Июня 21, 2012, 09:24
То есть, меня просто сбило то, что setYMD иногда, почему-то срабатывает.
Понял. Спасибо.