下面是一个C++ QT QDateTimeEdit用法的代码示例,包含日期更新时触发信号槽:
#include <QApplication>
#include <QDateTimeEdit>
#include <QVBoxLayout>
#include <QWidget>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget *widget = new QWidget();
QVBoxLayout *layout = new QVBoxLayout(widget);
QDateTimeEdit *dateTimeEdit = new QDateTimeEdit(widget);
dateTimeEdit->setDisplayFormat("yyyy-MM-dd HH:mm:ss");
dateTimeEdit->setDateTime(QDateTime::currentDateTime());
QObject::connect(dateTimeEdit, &QDateTimeEdit::dateTimeChanged, [=](const QDateTime &dateTime) {
qDebug() << "Date/Time changed: " << dateTime.toString("yyyy-MM-dd HH:mm:ss");
});
layout->addWidget(dateTimeEdit);
widget->show();
return app.exec();
}
这个示例中包含一个Date/Time Edit控件,它显示当前日期和时间。setDisplayFormat()方法设置了显示格式,setDateTime()方法设置了初始日期和时间。connect()方法用于连接dateTimeChanged信号和一个lambda表达式,该表达式在日期更新时被调用并输出日期和时间。最后,QWidget和QVBoxLayout被用来设置布局并显示控件。