1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| #include <QApplication> #include <QWidget> #include <QDateTimeEdit> #include <QVBoxLayout> #include <QLabel> #include <QDateTime> #include <QDebug>
void setupDateTimeEditDemo(QWidget *parent) { QVBoxLayout *layout = new QVBoxLayout(parent);
QLabel *label1 = new QLabel("选择出发时间(默认格式):", parent); QDateTimeEdit *dateTimeEdit = new QDateTimeEdit(QDateTime::currentDateTime(), parent); dateTimeEdit->setCalendarPopup(true);
QLabel *label2 = new QLabel("自定义格式(YYYY年MM月DD日):", parent); QDateTimeEdit *customEdit = new QDateTimeEdit(QDate::currentDate(), parent); customEdit->setDisplayFormat("yyyy年MM月dd日 HH:mm");
customEdit->setMinimumDateTime(QDateTime::currentDateTime());
QLabel *displayLabel = new QLabel("你选择的时间是:", parent); displayLabel->setStyleSheet("color: darkgreen;");
QObject::connect(customEdit, &QDateTimeEdit::dateTimeChanged, [displayLabel](const QDateTime &dt) { displayLabel->setText("你选择的时间是:" + dt.toString("yyyy-MM-dd HH:mm")); });
layout->addWidget(label1); layout->addWidget(dateTimeEdit); layout->addSpacing(10); layout->addWidget(label2); layout->addWidget(customEdit); layout->addWidget(displayLabel); layout->addStretch(); }
int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget w; w.setWindowTitle("QDateTimeEdit 时间选择测试"); w.resize(400, 300); setupDateTimeEditDemo(&w); w.show(); return a.exec(); }
|