永发信息网

QT中startTimer()在哪一个类中

答案:2  悬赏:20  手机版
解决时间 2021-02-13 17:34
//启动定时器,1秒响应,用于模拟产生实时数据
this->startTimer(1000);
//定时器事件
这个THIS,指的是什么谢谢
代码网址http://tedeum.iteye.com/blog/2018706
最佳答案
this指的是当前类。
startTimer是QObject的一个方法。只要是QObject的子类,都可以使用这个方法。
你也可以不写this,直接调用startTimer(1000);也行。(除非当前类不是QObject子类)
全部回答
1.新建gui工程,在主界面上添加一个标签label,并设置其显示内容为“0000-00-00 00:00:00 星期日”。 2.在mainwindow.h中添加槽函数声明。 private slots: void timerupdate(); 3.在mainwindow.cpp中添加代码。 添加#include 的头文件包含,这样就包含了qtcore下的所有文件。 构造函数里添加代码: qtimer *timer = new qtimer(this); //新建定时器 connect(timer,signal(timeout()),this,slot(timerupdate())); //关联定时器计满信号和相应的槽函数 timer->start(1000); //定时器开始计时,其中1000表示1000ms即1秒 4.然后实现更新函数。 void mainwindow::timerupdate() { qdatetime time = qdatetime::currentdatetime(); //获取系统现在的时间 qstring str = time.tostring("yyyy-mm-dd hh:mm:ss dddd"); //设置系统时间显示格式 ui->label->settext(str); //在标签上显示时间 } 5.运行程序。 ====================================================== 以下是本人自己整理的代码: mainwindow.h #include #include #include #include "mainwindow.h" #include "ui_mainwindow.h" mainwindow::mainwindow(qwidget *parent) : qmainwindow(parent), ui(new ui::mainwindow) { ui->setupui(this); #if 0 qtimer *timer = new qtimer(this); connect(timer, signal(timeout()), this, slot(timerupdate())); timer->start(1000); #else qsrand(time(0)); starttimer(1000); // 返回值为1, 即timerid starttimer(5000); // 返回值为2 starttimer(10000); // 返回值为3 #endif } mainwindow::~mainwindow() { delete ui; } void mainwindow::on_btnlogin_clicked() { qmessagebox::information(this, "caption", tr("hello你好吗"), qmessagebox::ok); } #if 0 void mainwindow::timerupdate() { qdatetime time = qdatetime::currentdatetime(); qstring str = time.tostring("yyyy-mm-dd hh:mm:ss dddd"); ui->lblcurdate->settext(str); } #else void mainwindow::timerevent(qtimerevent *t) { switch(t->timerid()) { case 1: { qdatetime time = qdatetime::currentdatetime(); qstring str = time.tostring("yyyy-mm-dd hh:mm:ss dddd"); ui->lblcurdate->settext(str); ui->lbl1->settext(tr("每秒产生一个随机数: %1").arg(qrand() % 10)); ui->lbl1->adjustsize(); } break; case 2: ui->lbl2->settext(tr("5秒后软件将关闭")); ui->lbl2->adjustsize(); break; case 3: qapp->quit(); // 退出系统 break; } } #endif main.cpp #include #include #include "mainwindow.h" int main(int argc, char *argv[]) { qapplication a(argc, argv); qtextcodec::setcodecfortr(qtextcodec::codecforname("utf-8")); mainwindow w; w.show(); return a.exec(); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下载百度视频为何只下载了广告部分?
现在和女友去宾馆开房只有一个身份证可以吗
轮胎:米其林浩悦4与马牌UC6哪个好些,有没有
七彩摇篮NO.D0127地址在哪,我要去那里办事
kent王健和Vae合唱的所有歌
米修宠物馆地址有知道的么?有点事想过去
郴州市价格举报中心这个地址在什么地方,我要
名门汪族地址有知道的么?有点事想过去
吨是什么的单位?
女生英文名Lesley、Janice、Erin 哪一个好?
金陵大排档地址在什么地方,想过去办事
全州的三江口作文450字
派多格宠物山东荣成店地址在什么地方,我要处
女朋友对我说我欺负她,该怎么办
脸上只有鼻子晒黑了怎么办?
推荐资讯
今天郑州有招临时工的吗日结
古代的老师有多牛
皮肤状态很不稳定用昕萃的哪款产品比较有效?
河南省豫剧一团家属院在哪里啊,我有事要去这
进口应税消费品时,由海关代征的进口消费税应
名侦探柯南木之下芙纱绘最后能和博士有下文么
用洗牙器代替牙刷可以吗
仕奇制衣干洗(水洗店)怎么去啊,我要去那办事
兰峰农资批发在什么地方啊,我要过去处理事情
当地基特征周期减小时,高层建筑上的地震作用
拉肚子,胃胀气能吃蛋糕吗
机动车登记状态是p,大家对此有了解吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?