У меня есть QDateTimeEdit, и пользователь должен выбрать с ним дату. Однако мне нужно выбрать последний день каждого месяца. Так, например, если пользователь выбирает 3 марта, я должен установить дату 31 марта.
Я пытаюсь сделать это в слоте сигнала dateChanged(const QDate&)
. Но когда я вызываю функцию setDate()
, слот вызывается еще раз.
Вот пример кода
connect(m_pDateEdit, SIGNAL(dateChanged(const QDate&)), this, SLOT(OnDateChanged(const QDate&)));
void MyClass::OnDateChanged(const QDate& date)
{
const bool b = m_pDateEdit->blockSignals(true);
// THIS LINE CAUSES TO THIS SLOT TO BE CALLED TWICE
m_pDateEdit->setDate(QDate(date.year(), date.month(), date.daysInMonth()));
CallSomeFunction();
m_pDateEdit->blockSignals(b)
}
Что-то я пропустил? Любые идеи?
Спасибо за ваше время!