Questo componente non visuale permette di gestire eventi a tempi predefiniti
La sintassi e' piuttosto semplice: si crea l'oggetto e si associa una funzione che viene richiamata ogni volta che l'oggetto genera un evento
Nell'esempio seguente gli eventi vengono generati ogni secondo
------------------------------------------
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTimer>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_pushButton_clicked();
void TimerEvent();
private:
Ui::MainWindow *ui;
QTimer timer;
unsigned contatore;
};
#endif // MAINWINDOW_H
------------------------------------------
------------------------------------------
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTimer>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
contatore = 0;
connect(&timer, SIGNAL(timeout()), this, SLOT(TimerEvent()));
this->timer.start(1000);
}
void MainWindow::TimerEvent()
{
contatore++;
QString str;
str.append(QString("%1").arg(contatore));
ui->pushButton->setText(str);
qDebug()<< contatore;
}
------------------------------------------