重要函数:
1.int startTimer(int); //设置定时器,返回一个ld.
2.int event->timerld(); //返回当前的ld.
3.void killTimer(int); //停止定时器.
创新互联自成立以来,一直致力于为企业提供从网站策划、网站设计、网站设计制作、成都做网站、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
首先从Qt设计师中拖拽出三个按钮,由于只是演示定时器事件的使用,所以就没有布局的需要了.
以下是”c.cpp”的代码:
#include "c.h"c::c(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); //连接信号与槽. connect(ui.startButton, SIGNAL(clicked()), this, SLOT(startTimerSlot())); connect(ui.stopButton, SIGNAL(clicked()), this, SLOT(stopTimerSlot())); } c::~c() { }void c::timerEvent(QTimerEvent*event) { //判断当前定时器对应的是哪个ld. if (event->timerId() == this->m_lamp) { if (this->m_lampStatus == false) { //设置按钮的图标. ui.toolButton->setIcon(QIcon("Icons/lamp.png")); this->m_lampStatus = true; } else { ui.toolButton->setIcon(QIcon("Icons/space.png")); this->m_lampStatus = false; } } }void c::startTimerSlot() { //设置定时器,返回一个timerld.注意单位为毫秒,1000毫秒等于1秒. this->m_lamp = this->startTimer(1000); }void c::stopTimerSlot() { //停止定时器. this->killTimer(this->m_lamp); }12345678910111213141516171819202122232425262728293031323334353637383940414243444546
以下是”c.h”的代码:
#ifndef C_H#define C_H#include <QtWidgets/QMainWindow>#include "ui_c.h"#include <QLabel>#include <QTimerEvent>class c : public QMainWindow { Q_OBJECTpublic: c(QWidget *parent = 0); ~c();protected: //这是一个虚函数,从QEvent继承而来. void timerEvent(QTimerEvent*event);private slots: void startTimerSlot(); void stopTimerSlot();private: Ui::cClass ui; int m_lamp; bool m_lampStatus = false; };#endif // C_H12345678910111213141516171819202122232425262728293031
最后是”main.cpp”的代码:
#include "c.h"#include <QtWidgets/QApplication>int main(int argc, char *argv[]) { QApplication a(argc, argv); c w; w.show(); return a.exec(); }
分享文章:Qt学习:QTimerEvent定时器事件的处理程序代码示例
文章路径:https://www.cdcxhl.com/article44/giddhe.html
成都网站建设公司_创新互联,为您提供关键词优化、电子商务、品牌网站制作、网站建设、用户体验、网站收录
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联