Russian Qt Forum
Июля 06, 2025, 02:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTimer[РЕШЕНО]  (Прочитано 3429 раз)
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();
}
 
« Последнее редактирование: Октября 06, 2011, 16:41 от Larry » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5877


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Октября 06, 2011, 16:05 »

QApplication::setQuitOnLastWindowClosed в false установи.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Larry
Гость
« Ответ #2 : Октября 06, 2011, 16:21 »

QApplication::setQuitOnLastWindowClosed в false установи.
Большое спасибо, теперь работает...а назначение этого метода можешь объяснить?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5877


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Октября 06, 2011, 16:26 »

Переведи. Улыбающийся Если true, то приложение завершается при закрытии последнего видимого окна.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Larry
Гость
« Ответ #4 : Октября 06, 2011, 16:37 »

понял Улыбающийся, спасибо большое...тему можно считать закрытой. А как пометить тему решенной?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5877


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Октября 06, 2011, 16:38 »

Просто отредактируй первое сообщение. В смысле, напиши в заголовке [РЕШЕНО]
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Larry
Гость
« Ответ #6 : Октября 06, 2011, 16:41 »

еще раз спасибо:)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.