Qt之QTimer----每秒都有自己要干的事
2012-05-04 23:58
274 查看
有时候有些地方我们不得不干重复的事情,怎么办。不可能来个for,while无限循环吧,让程序一直卡在那里占cpu吧。
那我们就用定时器吧,每秒做我们想做的事,这样才是硬道理。
头文件
源文件
效果:
D:\opt\QtOpt\qtime-build-desktop-Qt_4_7_4__qt4_7_0____\debug\qtime.exe 启动中...
Init CriticalSection spin count wyz========a: 2
wyz========b: 3
wyz========a: 4
wyz========a: 5
wyz========a: 6
wyz========a: 7
wyz========a: 8
wyz========a: 9
那我们就用定时器吧,每秒做我们想做的事,这样才是硬道理。
头文件
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QTimer> #include <QDebug> class QTime; namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); QTimer *timer; int i; private: Ui::MainWindow *ui; protected slots: void timerDone(); void slotTime(); }; #endif // MAINWINDOW_H
源文件
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); i=1; timer = new QTimer(); this->connect(timer,SIGNAL(timeout()),this,SLOT(timerDone())); timer->start( 1000 ); //一秒钟后开始触发,然后一秒一次 timer->singleShot(2000,this,SLOT(slotTime())); //2秒钟触发一次 } MainWindow::~MainWindow() { delete ui; } void MainWindow::timerDone() { ui->label->setText(tr("%1").arg(i)); i++; qDebug()<<"wyz========a:"<<i; } void MainWindow::slotTime() { i++; qDebug()<<"wyz========b:"<<i; }
效果:
D:\opt\QtOpt\qtime-build-desktop-Qt_4_7_4__qt4_7_0____\debug\qtime.exe 启动中...
Init CriticalSection spin count wyz========a: 2
wyz========b: 3
wyz========a: 4
wyz========a: 5
wyz========a: 6
wyz========a: 7
wyz========a: 8
wyz========a: 9
相关文章推荐
- 友善之臂の用自己的qt4.7程序替换掉友善之臂的start qt4.7.0
- QT 自己画单元格 QStyledItemDelegate
- mini2440中执行自己编写的QT4程序时 qt4脚本
- 用ISO C++实现自己的信号槽(Qt另类学习)
- QT高级UI篇重写自己想要的控件以QLabel为列实现旋转,放大,缩小
- 如何才能在Qt Script脚本里面直接new自己的Qt C++类
- 请教如何在QT自定义线程类中使用QTimer定时器功能
- QT和opencv 相结合的软件,自己搭建的。
- QT 国际化扩展所感 an extending QT Translator (自己实现翻译逻辑,编辑更方便)
- qt-designer使用教程--编写自己的槽
- QtCreator下用openpose搭建自己的QT工程
- 开源自己用python封装的一个Windows GUI(UI Automation)自动化工具,支持MFC,Windows Forms,WPF,Metro,Qt
- Qt自己的css简称qss
- VS+Qt 然后自己编写.pro文件时,提醒不能打开 ui_*.h 文件解决防范
- 自学QT之自己写一个窗口
- fedora下QT安装 (qt-sdk-linux-x86-opensource-2010.05.1.bin, 自己配置PATH)
- vs2013 + Qt 5.6 + caffe — Qt 调用 caffe 生成的静态链接库用到自己的工程(项目)中
- QT之 QTimer使用方法
- Qt之QTimer
- QT基础 (四) 使用自己的字库