QT学习(3)

## QT学习(3)–时间&日期

1.QDateTime类
头文件#include
可以使用QDateTime类来获得系统时间。通过QDateTime::currentDateTime()来获取本地系统的时间和日期信号。可以通过date()和time()来返回
datetime中的日期和时间部分,代码如下:
QDateTime *datetime=new QDateTime(QDateTime::currentDateTime());
QString s=datetime->date().tostring();
void Dialog::add()
{
QDateTime *datetime=new QDateTime(QDateTime::currentDateTime());
QString tmp=datetime->date().toString();
label1->setText(tmp);
}

2.QTimer类
定时器(QTimer)的使用非常简单,只需要一下几个步骤就可以完成定时器的应用。
新建一个定时器
QTimer *time_clock=new QTimer(this);
连接这个定时器的信号和槽,利用定时器的timeout()。
connect(time_clock,SIGNAL(timeout()),this,SLOT(slottimedone()));
time_clock->start(2000);
开启定时器,并设定定时周期
–定时器定时有两种方式,start(int time)和setSingleShot(true),其中,start(int time)表示每隔"time"秒就会重启定时器,
可以重复触发定时,利用stop()将定时器关掉,二setSingleShot(true)则是仅启动定时器一次,工程中常用的是前者。
#include “dialog.h”
#include
#include

//构造函数
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
time1=new QTimer(this);
btn1=new QPushButton(this);
edit1=new QLineEdit(this);
edit2=new QLineEdit(this);
label1=new QLabel(this);
btn1->setText(“求和”);
label1->setText(“label”);
QGridLayout * layout=new QGridLayout(this);
layout->addWidget(edit1,0,0);
layout->addWidget(edit2,0,1);
layout->addWidget(btn1,1,0);
layout->addWidget(label1,1,1);

//将btn1点击事件和add函数关联起来
connect(btn1,SIGNAL(clicked()),this,SLOT(add()));
//将time1的timeout()时间和on_time函数关联起来
connect(time1,SIGNAL(timeout()),this,SLOT(on_time()));

}

void Dialog::add()
{
//判断定时器是否已经启动
if(time1->isActive())
//停止定时器
time1->stop();
else
time1->start(1000);//表示每隔1秒就会重启定时器
}

//窗口标题每秒变化一次
void Dialog::on_time()
{
//获取当前系统时间
QDateTime *date1=new QDateTime(QDateTime::currentDateTime());
QString s=date1->time().toString();
//获取秒
//date1->time().second();
this->setWindowTitle(s);
}

Dialog::~Dialog()
{

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值