Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: zoro86 от Декабрь 28, 2009, 09:12



Название: QTimer
Отправлено: zoro86 от Декабрь 28, 2009, 09:12
В одной из часте моего кода есть такое дело..
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(statusOperationSend()));
            
timer->setSingleShot (true);
timer->start (10000);

он срабатывает только один раз после объявления, мне необходимо сделать проверку объявлен ли объект timer, если да то не объявлять новый, если нет то объявить... как это можно реализовать...


Название: Re: QTimer
Отправлено: BRE от Декабрь 28, 2009, 09:22
Код
C++ (Qt)
QTimer *timer = 0;
 
if( !timer )
{
timer = new QTimer( this );
connect( timer, SIGNAL( timeout() ), this, SLOT( statusOperationSend() ) );
 
timer->setSingleShot( true );
timer->start( 10000 );
}
 


Название: Re: QTimer
Отправлено: zoro86 от Декабрь 28, 2009, 09:59
Предварительно обявил timer

потом в конструкторе
timer = new QTimer(this);
      connect(timer, SIGNAL(timeout()), this, SLOT(statusOperationSend()));
      timer->setSingleShot (true);

а потом где надо проверяю

if(!timer->isActive()){
            
            timer->start (10000);
            
         }
спасибо за идеи мужики