MyTetra Share
Делитесь знаниями!
О, смотри-ка какое хорошее место. Дайте два!
Как сделать задержку в Qt
25.11.2017
11:56
Текстовые метки: qt, задержка, пауза, время, sleep, таймер
Раздел: Компьютер - Программирование - Язык C++ - Библиотека Qt - Нестандартное использование Qt

В событийно-ориентированном программировании (event driven programming), в парадигме которого спроектирован Qt, нет причин в создании задержек в коде. Вместо этого следует использовать, например, класс QTimer, который с заданной частотой может вызывать нужные функции (методы).


Но иногда, особенно при прототипировании, необходимо по-быстрому вставить, например, задержку в какой-нибудь цикл, чтобы успеть отследить какой-то быстропротекающий процесс. Сделать это можно с помощью такого класса:


class Sleeper: public QThread

{

public:

static void msleep(int ms)

{

QThread::msleep(ms);

}

};


Вызывать остановку исполнения кода (сон) можно так:


Sleeper::msleep(2000);


Еще раз следует напомнить: в продакшене такое использовать нельзя. Данная методика пригодна только в момент экспериментирования с кодом.


 
MyTetra Share v.0.52
Яндекс индекс цитирования