1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| #include <QtGui>
class mCompteur :public QWidget
{
Q_OBJECT
int m_depard;
int m_id;
QTimer m_timer;
QLCDNumber * m_affichage;
QPushButton * m_bStart;
public :
mCompteur( int depard)
:m_depard(depard),
m_affichage(new QLCDNumber),
m_bStart( new QPushButton("start"))
{
m_affichage->setSegmentStyle (QLCDNumber::Flat);
QLayout * l = new QVBoxLayout;
{
l->addWidget(m_affichage);
l->addWidget(m_bStart);
}
setLayout(l);
connect(m_bStart,SIGNAL(clicked (bool)),this,SLOT(start()));
connect(&m_timer,SIGNAL(timeout()),this,SLOT(decompte()));
}
private slots:
void start()
{
m_id = m_depard;
m_affichage->display(m_id);
m_bStart->setEnabled(false);
m_timer.start(1000);
}
void decompte()
{
--m_id;
m_affichage->display (m_id);
if (m_id == 0)
{
m_bStart->setEnabled(true);
m_timer.stop();
}
}
};
#include "main.moc"
int main(int argc,char**argv)
{
QApplication app(argc,argv);
mCompteur w(10);
w.show();
return app.exec();
} |
Partager