获取系统时间并动态显示

       本例以按键作为显示部件 ( 即获取到系统时间后显示在按钮上 ) ,使用定时器 timer ,每隔 1s 产生 timeout() 的信号,使用信号槽机制,实现 button 显示系统时间;  使用connect(timer,SIGNAL(timeout()),this,SLOT(setTime()));   关联定时器信号与相应的槽函数
 
1.       建立工程 dateTime.Pro
2.       具体代码:
dateTime.h 文件中添加:
#include <QPushButton>
private slots:
    void setTime();
private :
QPushButton * button ;
dateTime.cpp 文件中添加:
#include <QTimer>
#include <QDateTime>
在构造函数中添加
//setWindowFlags (Qt:: FramelessWindowHint );   
                    // 设置窗体无边框
button = new QPushButton( this );             
                       // 实例化一个按钮
    button -> setGeometry (0,0,400,300);           
                       // 设置按钮的尺寸
    QTimer *timer = new QTimer( this );          
                       // 实例化一个定时器
    timer-> setInterval (1000);                 
                       // 设置定时器间隔为 1S
    QObject :: connect (timer,SIGNAL(timeout()), this ,SLOT(setTime()));         
                       //关联定时器与槽函数
    timer-> start (); 
                       //计时开始
        在槽函数 void dateTime::setTime()中添加
   QDateTime dateTime = QDateTime :: currentDateTime ();
                       // 获取当前时间
button -> setText (dateTime. toString ( "yyyy-MM-dd hh:mm:ss dddd" ));
                    // 设置按钮上显示的内容格式
或者:
QDateTime dateTime = QDateTime :: currentDateTime ();
    int year = dateTime. date (). year ();
    int month = dateTime. date (). month ();
    int day = dateTime. date (). day ();
    QString time = dateTime. time (). toString ( "hh:mm:ss" );
button -> setText (time+ " " + QString :: number (year)+ "/" + QString ::
number (month) + "/" + QString :: number (day));
3.       显示效果 ( )
 

你可能感兴趣的:(职场,休闲,QTimer,QDateTime,connect())