Simppeli QTimer esimerkki
Esimerkki, jossa on tehty Dialog perustainen sovellus ja liitetty siihen QTimer muuttuja. QTimer on kohtuullisen helposti käytettävä ajastin. Esimerkiksi timer.start(1000); komennolla ajatimen saa käyntiin ja timer.stop(); komennolla se pysähtyy.
#include "dialog.h" #include "ui_dialog.h" //dialogin muodostimeen Dialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); //liitetään ajastimen timeout slotiin update eli aina kun ajastin on käynyt loppuun se lähettää timeout signaalin ja alkaa laskea taas alusta // nyt update() slotia kutsutaan aina kun tapahtuu timeout connect(&timer, SIGNAL(timeout()), this, SLOT(update())); timer->start(1000);//käynnistä ajastin, timeout sekunnin välein Arvo=0;//muuttuja joka viedään editline objektille käyttöliittymään } ****************** void Dialog::update()//tätä kutsutaan aina kun tapahtuu timeout eli kun startissa määrätty aika millisekunteja on kulunut { Arvo++; ui->dial->setValue(Arvo); }
Otsikkotiedosto
#ifndef DIALOG_H #define DIALOG_H #include <QtGui/QDialog> #include <QTimer> //tämä pitää olla mukana, jotta ajastinta voidaan käyttää namespace Ui { class Dialog; } class Dialog : public QDialog { Q_OBJECT public: Dialog(QWidget *parent = 0); ~Dialog(); private slots: void update(); private: Ui::Dialog *ui; QTimer timer;//ajastimen esittely jäsenmuuttujana int Arvo; }; #endif // DIALOG_H