由于qt/embedded 2.3.7不能设置时间格式,使用QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");编译会报找不到相关函数的错误,并给出了candidate函数,大家自己也可以到$QTDIR/include 下面的qdatetime.h文件看看,定义的toString()函数是没有参数的。
得到时间数据后,我们自己可以设置其显示格式。
// ClockWindow.h
#ifndef _CLOCKWINDOW_H
#define _CLOCKWINDOW_H
#include <QApplication>
#include <QLabel>
class ClockWindow : public QLabel
{
Q_OBJECT
public:
ClockWindow(QWidget *parent = 0);
protected:
void timerEvent(QTimerEvent * event);
};
#endif
// ClockWindow.cpp
#include "clockwindow.h"
#include <QDateTime>
ClockWindow::ClockWindow(QWidget *parent)
: QLabel(parent)
{
setMargin(10);
setAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
timerEvent(0);
startTimer(1000);
}
void ClockWindow::timerEvent(QTimerEvent *event)
{
QDateTime qdatetime=QDateTime::currentDateTime();
int y=qdatetime.date().year();
int m=qdatetime.date().month();
int d=qdatetime.date().day();
QString strTime=qdatetime.time().toString();
TextLabel_Time->setText(strTime+" "+QString::number(d)+"/"+QString::number(m)+"/"+QString::number(y)); //显示时间格式为21:09:54 9/4/2009
}
// main.cpp
#include "clockwindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
ClockWindow window;
window.show();
return app.exec();
}