Класс QTimer

   
На этом шаге рассмотрим класс QTimer.

   
Использование объекта класса QTimer гораздо проще, чем использование события таймера, определенного в классе QObject. К недостаткам работы с событием таймера относится необходимость наследования одного из классов, наследующих класс QObject. Затем в унаследованном классе нужно реализовать метод, принимающий объекты события таймера. А если в объекте создается более одного таймера, то возникает необходимость различать таймеры, чтобы узнать, который из них явился инициатором события.

   
Для ликвидации этих неудобств Qt предоставляет класс таймера QTimer, являющийся непосредственным наследником класса QObject. Чтобы запустить таймер, нужно создать объект класса QTimer, а затем вызвать метод start(). В параметре метода передается значение интервала запуска в миллисекундах.

   
Класс QTimer также содержит статический метод singleShot() для одноразового режима отработки таймера (режима singleshot). С его помощью можно запустить одноразовый таймер без создания объекта класса QTimer. Первый параметр метода задает интервал запуска, а второй является указателем на объект, с которым должно осуществляться соединение. Слот для соединения передается в третьем параметре. Этим можно воспользоваться, например, для прекращения работы демоверсии программы через 10 секунд после ее запуска.

QTimer::singleShot(10 * 1000, &app, SLOT(quit()));

   
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий