Code : QDateTime eventDate = dateTodo->dateTime(); QString todoName = list.at(1); KCal::Event *myEvent = new KCal::Event(); myEvent->setDuration(3600); myEvent->setFloats(FALSE); myEvent->setDtStart(eventDate); myEvent->setSummary(todoName); m_calendar->addEvent(myEvent); m_calendar->save("cal.ics"); lstWdgTodoList->addItem(todoName); BEGIN:VCALENDAR PRODID:-//K Desktop Environment//NONSGML libkcal 3.5//EN VERSION:2.0 BEGIN:VEVENT DTSTAMP:20070327T162115Z CREATED:20070327T161846Z UID:libkcal-1702932553.1038 LAST-MODIFIED:20070327T161846Z SUMMARY:t DURATION:PT1H DTSTART;TZID=Asia/Shanghai:20000101T000000 TRANSP:OPAQUE END:VEVENT BEGIN:VTIMEZONE TZID:Asia/Shanghai BEGIN:STANDARD TZNAME:CST TZOFFSETFROM:+080552 TZOFFSETTO:+0800 DTSTART:19280101T155408 RDATE;VALUE=DATE-TIME:19280101T155408 END:STANDARD BEGIN:DAYLIGHT TZNAME:CDT TZOFFSETFROM:+0800 TZOFFSETTO:+0900 DTSTART:19400603T160000 RDATE;VALUE=DATE-TIME:19400603T160000 RDATE;VALUE=DATE-TIME:19410316T160000 RDATE;VALUE=DATE-TIME:19860503T160000 RDATE;VALUE=DATE-TIME:19870411T160000 RDATE;VALUE=DATE-TIME:19880409T160000 RDATE;VALUE=DATE-TIME:19890415T160000 RDATE;VALUE=DATE-TIME:19900414T160000 RDATE;VALUE=DATE-TIME:19910413T160000 END:DAYLIGHT BEGIN:STANDARD TZNAME:CST TZOFFSETFROM:+0900 TZOFFSETTO:+0800 DTSTART:19401001T150000 RDATE;VALUE=DATE-TIME:19401001T150000 RDATE;VALUE=DATE-TIME:19411001T150000 RDATE;VALUE=DATE-TIME:19860913T150000 RDATE;VALUE=DATE-TIME:19870912T150000 RDATE;VALUE=DATE-TIME:19880910T150000 RDATE;VALUE=DATE-TIME:19890916T150000 RDATE;VALUE=DATE-TIME:19900915T150000 RDATE;VALUE=DATE-TIME:19910914T150000 END:STANDARD END:VTIMEZONE END:VCALENDAR