QDateTimeEdit 用法总结

xiaoxiao2021-02-28  25

参考: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"); 12345678910

设置范围

dateEdit->setMinimumDate(QDate::currentDate().addDays(-365)); // -365天 dateEdit->setMaximumDate(QDate::currentDate().addDays(365)); // +365天 12

获取时间

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(); // 最小时间 // 用Section 获取各部分对应的值 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); 1234567891011121314151617

弹出日历

// 注意:日历是对应的是QDate,而非QTime。所以QDateEdit、QDateTimeEdit可以使用,而QTimeEdit并不能使用。 dateEdit->setCalendarPopup(true); // 日历弹出 12

信号

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))); 123456

槽函数

// 日期发生改变时执行 void onDateChanged(const QDate &date) { qDebug() << "QDate : " << date; } // 无论日期还是时间发生改变,都会执行 void onDateTimeChanged(const QDateTime &dateTime) { qDebug() << "QDateTime : " << dateTime; } // 时间发生改变时执行 void onTimeChanged(const QTime &time) { qDebug() << "QTime : " << time; }
转载请注明原文地址: https://www.6miu.com/read-1650375.html

最新回复(0)