一个最简单的数字时钟(LCD显示)包含三个文件clock.h clock.cpp main.cpp
/*clock.h*/
#ifndef CLOCK_H
#define CLOCK_H
#include<QApplication>
#include<QTimer>
#include<QLCDNumber>
#include<QLabel>
#include<QVariant>
#include<QDialog>
#include<QTime>
class Clock:public QDialog
{
Q_OBJECT
public:
Clock(QWidget * parent=0);
void init();
void layout();
void clockConnect();
public slots:
void clockChange();
private:
QTimer * timer;
QLCDNumber * lcdNumber;//显示当前时间
};
#endif
/*clock.cpp*/
#include"clock.h"
Clock::Clock(QWidget * parent):QDialog(parent)
{
init();
layout();
clockConnect();
}
void Clock::init()
{
setWindowTitle("Clock");//设置标题
setFixedSize(QSize(160,60));//固定大小
timer=new QTimer;//控制lcd的时间刷新
lcdNumber=new QLCDNumber;//显示当前时间
lcdNumber->setFixedSize(QSize(150,50));//固定大小
lcdNumber->setNumDigits(8);//显示八个数字,默认是显示5个数字
lcdNumber->display(QTime::currentTime().toString("hh:mm:ss"));//设置格式,还有其他形式的
}
void Clock::layout()
{
lcdNumber->setParent(this);
lcdNumber->show();
};
void Clock::clockConnect()
{
connect(timer,SIGNAL(timeout()),this,SLOT(clockChange()));
timer->start(1000);
};
void Clock::clockChange()
{
lcdNumber->display(QTime::currentTime().toString("hh:mm:ss"));
}
/*main.cpp
*simple QT Clock by spygg
*base on Alarm clock by dengroj ( 邓荣健 qq:915984846 )
*Qt version:4.7.0
*My QQ:492383056
*/
#include"clock.h"
#include<QApplication>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
Clock clock;
clock.show();
return app.exec();
};