QT 获取系统时间 日期

今天学习了QT获取系统当前时间,日期
效果:左部分读取系统时间日期,右部分以字符串显示
QT 获取系统时间 日期_第1张图片

1.首先在ui放置 PushButton,objectName更名为btnGetTime
Label:时间、日期、日期时间、字符串显示
TimeEdit控件放置时间; DateEdit控件放置日期;Date/Time Edit控件放置日期时间
2.右半部分放置三个LineEdit(setText才能使用)
3.右击按钮控件选择Go to slot,选择clicked(),系统会自动在mainwindow.cpp中生成void MainWindow::on_btnGetTime_clicked()函数
下面是函数体部分

void MainWindow::on_btnGetTime_clicked()
{
    //获取当前日期时间,为三个专用编辑器设置日期时间数据,并转换为字符串
    QDateTime curDataTime=QDateTime::currentDateTime();
    ui->timeEdit->setTime(curDataTime.time());//timeEdit时间控件名
    ui->dateEdit->setDate(curDataTime.date());//dateEdit日期控件名
    ui->dateTimeEdit->setDateTime(curDataTime);//dateTimeEdit日期时间控件名
    //转换为字符串
    ui->EditTime->setText(curDataTime.toString("hh:mm:ss"));//EditTime: QLineEdit
    ui->EditDate->setText(curDataTime.toString("yyyy-MM-dd"));//EditDate: QLineEdit
    ui->EditdateTime->setText(curDataTime.toString("yyyy-MM-dd hh:mm:ss"));//EditdateTime: QLineEdit
}

点击 获取当前时间,则自动显示
QT 获取系统时间 日期_第2张图片
问题:如何实时显示当前系统时间?
答:需要用到QTimer类
效果
QT 获取系统时间 日期_第3张图片
1.设置一个QLabel,命名为update

2代码

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QTimer *timer=new QTimer(this);
    connect(timer,SIGNAL(timeout()),this,SLOT(timerUpdate()));
    timer->start(1000);//每次发射timeout信号的时间为1秒
    //函数原型 void QTimer::start(int msec) msec毫秒
}

函数体

void MainWindow::timerUpdate(void)
{
    QDateTime time = QDateTime::currentDateTime();
    QString str = time.toString("yyyy-MM-dd hh:mm:ss");//转换成字符串
   // QString str = time.toString("yyyy-MM-dd hh:mm:ss dddd");//显示星期
    ui->update->setText(str);
}

你可能感兴趣的:(QT,QT,显示系统时间)