1、QDateTimeEdit触发日历
QSize sz = ui->dateTimeEdit->geometry().size() -= QSize(3, 3);
QPoint pt(sz.width(), sz.height());
QMouseEvent evt(QEvent::MouseButtonPress, pt, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
qApp->sendEvent(ui->dateTimeEdit, &evt);
ui->dateTimeEdit->setCalendarPopup(true);
效果图如下:
同时获取当前日期,并且设置当前日期之前可以操作,之后日期无法选择!
ui->dateEdit->setDateTime(QDateTime::currentDateTime());
ui->dateEdit->setMaximumDate(QDate::currentDate().addDays(0));
应用知识点:(帮助文档)
关于QDateEdit:
1、设置日历弹出
bool calendarPopup () const
void setCalendarPopup ( bool enable )2、设置日期格式
setDisplayFormat("yyyy/MM/dd");
setDisplayFormat("HH:mm:ss");
3、设置日期最大最小
void setMaximumDate ( const QDate & max );
void setMinimumDate( const QDate & max );
4、设置当前时间
setDateTime(QDateTime::currentDateTime())
关于QDateTimeEdit:
设置范围:
1、void QDateTimeEdit::setDateRange ( const QDate & min, const QDate & max )
setDateRange(min, max);
setMinimumDate(min);
setMaximumDate(max);
2、void QDateTimeEdit::setDateTimeRange ( const QDateTime & min, const QDateTime & max )
setDateTimeRange(min, max);
setMinimumDateTime(min);
setMaximumDateTime(max);