我为了实现点击QLineEdit时弹出QCalendarWidget,我重新实现了focusInEvent 事件,也可以弹出QCalendarWidget,但是当我点击日期后,日期并没有加入到MyLineEdit中,而且提示***.exe停止工作,我一步步跟踪下来,发现时运行到一个QLineEdit的editingFinished()信号时报错的,我不知道这是为什么,请知情人士提供答案,在下感激不尽
void MyLineEdit::focusInEvent ( QFocusEvent * e )
{
 if (calendarWidget == NULL)
 {
  calendarWidget = new QCalendarWidget;
  calendarWidget->show();
  calendarWidget->setSelectionMode(QCalendarWidget::SingleSelection);
  
  //calendarWidget->move()
 }
 connect(calendarWidget, SIGNAL(clicked( const QDate &)), this, SLOT(setDate()));
 calendarWidget->show();
 //QLineEdit::focusInEvent(e);
 //emit callcalendarWidget();
}
void MyLineEdit::setDate( )
{
 QDate date = calendarWidget->selectedDate();
 this->setText(date.toString("yyyy-MM-dd"));
 //calendarWidget->hide();
 disconnect(calendarWidget, SIGNAL(clicked( const QDate &)), this, SLOT(setDate()));
 delete calendarWidget;
 calendarWidget = NULL;
 
}