参考:Qt之QDateTimeEdit
一般用法
设置时间
QDateTimeEdit *dateTimeEdit = new QDateTimeEdit(this);
QDateTimeEdit *dateTimeEdit2 = new QDateTimeEdit(QDateTime::currentDateTime(), this);
QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate(), this);
QDateTimeEdit *timeEdit = new QDateTimeEdit(QTime::currentTime(), this);
dateTimeEdit->setDisplayFormat("yyyy-MM-dd HH:mm:ss");
dateTimeEdit2->setDisplayFormat("yyyy/MM/dd HH-mm-ss");
dateEdit->setDisplayFormat("yyyy.M.d");
timeEdit->setDisplayFormat("H:mm");
设置范围
dateEdit->setMinimumDate(QDate::currentDate().addDays(-365));
dateEdit->setMaximumDate(QDate::currentDate().addDays(365));
获取时间
QDate date = dateEdit->date();
QDateTime dateTime = dateEdit->dateTime();
QDate maxDate = dateEdit->maximumDate();
QDateTime maxDateTime = dateEdit->maximumDateTime();
QTime maxTime = dateEdit->maximumTime();
QDate minDate = dateEdit->minimumDate();
QDateTime minDateTime = dateEdit->minimumDateTime();
QTime minTime = dateEdit->minimumTime();
QString strYear = dateEdit->sectionText(QDateTimeEdit::YearSection);
QString strMonth = dateEdit->sectionText(QDateTimeEdit::MonthSection);
QString strDay = dateEdit->sectionText(QDateTimeEdit::DaySection);
QString strHour = dateEdit->sectionText(QDateTimeEdit::HourSection);
QString strMinute = dateEdit->sectionText(QDateTimeEdit::MinuteSection);
QString strSecond = dateEdit->sectionText(QDateTimeEdit::SecondSection);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
弹出日历
dateEdit->setCalendarPopup(true);
信号
QDateTimeEdit *dateTimeEdit = new QDateTimeEdit(QDateTime::currentDateTime(), this);
connect(dateTimeEdit, SIGNAL(dateChanged(QDate)), this, SLOT(onDateChanged(QDate)));
connect(dateTimeEdit, SIGNAL(dateTimeChanged(QDateTime)), this, SLOT(onDateTimeChanged(QDateTime)));
connect(dateTimeEdit, SIGNAL(timeChanged(QTime)), this, SLOT(onTimeChanged(QTime)));
槽函数
void onDateChanged(const QDate &date) {
qDebug() << "QDate : " << date;
}
void onDateTimeChanged(const QDateTime &dateTime) {
qDebug() << "QDateTime : " << dateTime;
}
void onTimeChanged(const QTime &time) {
qDebug() << "QTime : " << time;
}