Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Larry от Октября 06, 2011, 16:02



Название: QTimer[РЕШЕНО]
Отправлено: Larry от Октября 06, 2011, 16:02
Добрый день! Не могу понять, где происходит ошибка...Программа запускается в трей и каждые 60 сек пингует какой-либо сервер, но таймер срабатывает один раз, а на второй завершается программа без ошибок.
Собственно вот слот для пингования и здесь же запускается таймер:
Код
C++ (Qt)
void CPing::slotUpdatePing()
{
   QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp-866"));
 
   QProcess ping;
   QStringList arguments;
 
   if(m_rbIP->isChecked())
       arguments << m_lineIP->text();
   else
       arguments << m_leDN->text();
 
   ping.start("ping.exe", arguments);
 
   ping.waitForFinished();    
 
   while(!ping.atEnd())
   {
       QString line = ping.readLine();
       line.remove(QRegExp("[^TTL]"));
 
       if(line.toUpper() == "TTL")
       {
           m_timer = new QTimer(this);
           connect(m_timer, SIGNAL(timeout()), this, SLOT(slotUpdatePing()));
           m_timer->start(60000);
 
           QMessageBox::about(this, tr("Таймер"), tr("Соединение установлено"));
           return;
       }
   }
 
   this->slotUpdatePing();
}
 


Название: Re: QTimer
Отправлено: Пантер от Октября 06, 2011, 16:05
QApplication::setQuitOnLastWindowClosed в false установи.


Название: Re: QTimer
Отправлено: Larry от Октября 06, 2011, 16:21
QApplication::setQuitOnLastWindowClosed в false установи.
Большое спасибо, теперь работает...а назначение этого метода можешь объяснить?


Название: Re: QTimer
Отправлено: Пантер от Октября 06, 2011, 16:26
Переведи. :) Если true, то приложение завершается при закрытии последнего видимого окна.


Название: Re: QTimer
Отправлено: Larry от Октября 06, 2011, 16:37
понял :), спасибо большое...тему можно считать закрытой. А как пометить тему решенной?


Название: Re: QTimer
Отправлено: Пантер от Октября 06, 2011, 16:38
Просто отредактируй первое сообщение. В смысле, напиши в заголовке [РЕШЕНО]


Название: Re: QTimer
Отправлено: Larry от Октября 06, 2011, 16:41
еще раз спасибо:)