博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QT QDateTime类、QTimer类
阅读量:5838 次
发布时间:2019-06-18

本文共 1845 字,大约阅读时间需要 6 分钟。

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);}

 

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(){}

 

转载地址:http://pojcx.baihongyu.com/

你可能感兴趣的文章
Oracle11g及PL/SQL Developer的安装和配置
查看>>
ios的google解析XML框架GDataXML的配置及使用
查看>>
netty-当一个客户端连接到来的时候发生了什么
查看>>
PHP_5.3.20 源码编译安装PHP-FPM
查看>>
在51CTO三年年+了,你也来晒晒
查看>>
js控制图片等比例缩放
查看>>
Java高级开发工程师面试考纲
查看>>
FreeMarker表达式
查看>>
No module named 'apt_pkg' 出错
查看>>
Debian9.2 下使用vnstat查看服务器带宽流量统计
查看>>
NGINX + PHP-FPM 502
查看>>
Windows Server 2012 之DHCP服务器的备份,还原及转移
查看>>
计算类路径,计算Servlet上下文路径
查看>>
mysql数据备份与恢复
查看>>
WPF之DataGrid应用
查看>>
Openstack API常用命令
查看>>
OpenSSL漏洞凶猛来袭 慧眼恶意代码监测应对有方
查看>>
C语言 喝汽水问题
查看>>
LINUX中搭建DNS服务器,实现正向、反向以及访问不同DNS解析
查看>>
SCCM2012 R2实战系列之十:解决WDS服务无法启动问题(错误1067:进程意外终止)...
查看>>