二、主要源码
2.1 日历控件(calendarWidget)
//窗口尺寸
this->resize(600,500);
calendar_label = new QLabel(this);
calendar_label->setText("选择日期");
//标签以及编辑框位置
calendar_label->setGeometry(QRect(100,70,100,25));
calendar_Edit = new QLineEdit(this);
calendar_Edit->setGeometry(QRect(180,70,150,25));
//cursorPositionChanged触发的事件
connect(calendar_Edit,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(showTime()));
//实例时间控件
calendarWidget = new QCalendarWidget(this);
//日历组件位置
calendarWidget->setGeometry(25,98,450,280);
//隐藏日历组件
calendarWidget->setHidden(true);
//时间控件点击事件
connect(calendarWidget,SIGNAL(clicked(QDate)),this,SLOT(setDate()));
//槽函数
void Widget::showTime()
{
calendarWidget->setHidden(false);
}
void Widget::setDate()
{
//接收选择时间
QDate date = calendarWidget->selectedDate();
//时间格式化
QString str = date.toString("yyyy-MM-dd");
calendar_Edit->setText(str);
//日历组件隐藏
calendarWidget->setHidden(true);
}
2.2日期、时间控件(QDateTime)
//时间控件
timeEdit = new QTimeEdit(this);
//位置
timeEdit->setGeometry(QRect(400,40,120,25));
//获取系统时间
QDateTime sysTime1 = QDateTime::currentDateTime();
//获取时分秒以“:”号拆分赋予 list 数组
QStringList list = sysTime1.toString("hh:mm:ss").split(':');
//将时分秒绑定控件
timeEdit->setTime(QTime(list[0].toInt(),list[1].toInt(),list[2].toInt()));
//日期控件
dateEdit = new QDateEdit(this);
//位置
dateEdit->setGeometry(QRect(400,70,120,25));
//获取系统时间
QDateTime sysTime2 = QDateTime::currentDateTime();
//获取时分秒以“-”号拆分赋予 list 数组
QStringList list2 = sysTime2.toString("yyyy-MM-dd").split('-');
//将年月日绑定控件
dateEdit->setDate(QDate(list2[0].toInt(),list2[1].toInt(),list2[2].toInt()));