https://www.cnblogs.com/doker/p/11150053.html
directorio del proyecto:
widget.h:
#ifndef WIDGET_H #define WIDGET_H
# include <QWidget>
# include <QTimer> // temporizador objeto
espacio de nombres Ui {
clase Widget;
}
clase Widget: pública QWidget
{
Q_OBJECT
pública :
explícita Widget (QWidget * parent = 0 );
~ Widget ();
privadas ranuras:
vacío on_buttonStart_clicked ();
</span><span style="color: #0000ff;">void</span><span style="color: #000000;"> on_buttonStop_clicked();
privada :
Ui :: Widget * ui;
QTimer </span>*myTimer;<span style="color: #008000;">//</span><span style="color: #008000;"> 定时器对象</span>
};
#endif // WIDGET_H
widget.cpp:
# include " widget.h " # include " ui_widget.h "
Widget :: Widget (* QWidget padre):
QWidget (padre),
la interfaz de usuario ( nueva Ui :: Widget)
{
ui -> setupUi ( este );
myTimer </span>= <span style="color: #0000ff;">new</span> QTimer(<span style="color: #0000ff;">this</span><span style="color: #000000;">);
connect(myTimer,</span>&QTimer::timeout,[=<span style="color: #000000;">](){
</span><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">int</span> i = <span style="color: #800080;">0</span><span style="color: #000000;">;
i</span>++<span style="color: #000000;">;
ui</span>->lcdNumber-><span style="color: #000000;">display(i);
});
}
Widget :: ~ Widget ()
{
delete ui;
}
// botón Inicio, vaya a través
vacío Widget :: on_buttonStart_clicked ()
{
// iniciar el temporizador
// intervalo de 100 ms
// cada 100ms, temporizador de tiempo de espera de forma automática myTimer gatillo ()
// Si el temporizador no se activa antes promotor, varios clics del botón de arranque para evitar que el error
SI (myTimer-> isActive () == false )
{
el myTimer -> start ( 100 );
}
}
vacío Widget :: on_buttonStop_clicked ()
{
</span><span style="color: #0000ff;">if</span>(myTimer->isActive() == <span style="color: #0000ff;">true</span><span style="color: #000000;">)
{
myTimer</span>-><span style="color: #000000;">stop();
}
}
IU: