Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: Serr500 от Май 31, 2012, 15:05



Название: Приостановка выполнения метода
Отправлено: Serr500 от Май 31, 2012, 15:05
Можно ли как-то приостановить выполнение одного из методов класса, не останавливая event loop, в котором он находится?


Название: Re: Приостановка выполнения метода
Отправлено: Пантер от Май 31, 2012, 15:07
Можно в цикле погонять http://doc-snapshot.qt-project.org/4.8/qcoreapplication.html#processEvents


Название: Re: Приостановка выполнения метода
Отправлено: mutineer от Май 31, 2012, 15:07
можно запустить внутри метода локальный event loop, будет подобный эффект


Название: Re: Приостановка выполнения метода
Отправлено: Serr500 от Июнь 01, 2012, 08:19
Спасибо.


Название: Re: Приостановка выполнения метода
Отправлено: DmitryM от Июнь 01, 2012, 09:54
это похоже явная ошибка проектирования.


Название: Re: Приостановка выполнения метода
Отправлено: Serr500 от Июнь 01, 2012, 10:04
Это не ошибка проектирования, а теоретический интерес. Я рассматривал вариант замены механизма "сигнал-слот" и приостановка метода была одним из вариантов. В результате было принято решение использовать сигналы и слоты. Ошибки проектирования не было, поскольку вопрос возник именно в процессе проектирования.


Название: Re: Приостановка выполнения метода
Отправлено: GreatSnake от Июнь 01, 2012, 12:04
это похоже явная ошибка проектирования.
Чего это вдруг? По-вашему все QDialog/QMenu/QMessage/../::exec() тоже ошибка проектирования?