Използване на таймера в Qt
КласътQTimer е проектиран да използватаймера в Qt. Първо трябва да зададете времето, след което ще работи. Трябва също така да дефинирате слот, който ще обработва сигнала, излъчен в резултат на препълването на таймера. Следователно, предпоставка за използване наQTimer е способността да се използват сигнали и слотове, което означава, че класът, в който се използва таймерът, трябва да бъде наследник наQObject. Например, нека създадем прост часовник.
В клас, който е наследник наQObject(например използваме стандартния клас на главния прозорец) ние декларираме екземпляр наQTimer и слот за обработка:
клас MainWindow: публичен QMainWindow < Q_OBJECT публичен: QTimer *таймер; .
публични слотове: //Слот, който се задейства при препълване на таймера void timer_overflow();
//Включете класа, за да определите текущото време #include
След това в конструктора на прозореца
//Свържете сигнала за препълване на таймера към слота QObject::connect(timer,SIGNAL(timeout()), this, SLOT(timer_overflow()));
//Настройване на таймера да работи (в ms) timer->start(1000); >
//Следващият метод (слот) се извиква всеки път, когато таймерът препълни void MainWindow::timer_overflow() < //Актуализиране на времевата стойност във формуляра ui->label->setText(QTime::currentTime().toString()); >
В резултат на това получихме "часовника":
