Название: Выход из бесконечного цикла Отправлено: Shu-Shu от Март 06, 2011, 20:08 Пишу в теме для новичков, так что сильно ногами не пинайте :)
Имеем форму, на ней таблицу, в конструкторе вызывается функция, которая таблицу постоянно рефрешит while(1) { QTime time; time.start(); //....... //обновление таблицы //....... for(;time.elapsed() < 1000;){ qApp->processEvents(); } } Далее закрываю программу на крестик, смотрю в процессы и огорчаюсь: процесс висит, видимо из-за бесконечного цикла. Так вот, вопрос в том, как убивать процесс после завершения программы. И второй вопрос, как сделать более адекватную задержку в выполнении программы, чем приведенная мной? Название: Re: Выход из бесконечного цикла Отправлено: m_ax от Март 06, 2011, 20:18 Когда жмёте на крестик ;D вызывайте слот quit()
Название: Re: Выход из бесконечного цикла Отправлено: Fat-Zer от Март 06, 2011, 20:33 такое и в страшном сне не приснится))
можно просто QTimer + слот для обновления таблицы. Название: Re: Выход из бесконечного цикла Отправлено: Shu-Shu от Март 06, 2011, 20:48 такое и в страшном сне не приснится)) можно просто QTimer + слот для обновления таблицы. Спасибо, попробую. Про существовании QTimer я вообще не подозревал :D А слот quit() не нашел, есть close(), но переопределить его нельзя. С QTimer'ом все заработало, еще раз спасибо ;) Название: Re: Выход из бесконечного цикла Отправлено: Fat-Zer от Март 06, 2011, 21:15 А слот quit() не нашел, есть close(), но переопределить его нельзя. это слот QApplication, унаследованный от QCoreApplication. посмотри исходники... там в принципе можно понять, почему не работает...ЗЫ: вроде при клике на крестик как раз вызывается закрытие окна(слот close()), а при смерте всех QObject'ов уже вызывается метод quit(). Название: Re: Выход из бесконечного цикла Отправлено: Авварон от Март 07, 2011, 01:28 а при смерте всех QObject'ов уже вызывается метод quit(). это неверно, как минимум 1 куобжект на момент вызова quit есть - это сам куаппликейшн. более того виджеты не удаляются по дефолту, а лишь хайдятся при закрытии их. |