0

调试信息

我的 QDateTime 构造函数有一个奇怪的问题,我正在使用 Qt creator 3.1.1 在 Windows 上创建一个日历程序,它基于 Qt 5.2.1(MSVC 2010,32 位)

正如您在调试器信息中看到的那样,month = 9以及year = 2014

仍然在执行以下代码时

void GUICalendar::monthUpdated(int year, int month)
{
    QDateTime begin = QDateTime(QDate(year, month, 1), QTime(0,0,0));
    QDateTime end = QDateTime(QDate(year, month, begin.date().daysInMonth()), QTime(23,59,59));

    QList<AppointmentSolo*> soloList = m_calendar->AppointmentSoloBetween(begin, end);
    QList<AppointmentRepeat*> repeatList = m_calendar->AppointmentRepeatBetween(begin, end);
    QList<TodoBaseTask*> todoList = m_calendar->TodoTasksBetween(begin, end);

    m_dayView->update(soloList, repeatList, todoList);
}

这就是发生的事情

begin = jan 1 00:00:00 1970
end = jan 1 00:00:00 1970

而且我不确定为什么会发生这种情况,因为我的 QDatebegin应该sep 1 2014仍然是它正在被更改为jan 1 1970

我已经在这个问题上停留了将近一个小时,所以如果有人能解释我做错了什么或为什么会发生这种情况,我将不胜感激。

4

0 回答 0