Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Ожидание событий

Автор: zss 28.4.2010, 9:55

У меня есть объект, который запускает поток и делает некие действия.
По результатам действия он вызывает метод объекта, который подписался на него.

Мне необходимо в главном потоке запустить этот объект и дождаться завершения его работы. Но если я буду это делать, то GUI поток повиснет.
Можно ли как в GUI потоке ожидать события не вешая его ?

Автор: Litkevich Yuriy 28.4.2010, 11:05

Цитата(zss @ 28.4.2010, 13:55) *
Можно ли как в GUI потоке ожидать события не вешая его ?
можно, запусти поток, присоедини его сигнал finished() к своему слоту и выйди из текущей функции.
Когда поток просигналит о завершении, вызовется твой слот

Автор: zss 28.4.2010, 14:53

опять потоки, сигналы... :) просто этого уже так много...
Ну ладно. Пусть будет так.

Раз потоки, тогда еще вопрос. Потоку может быть послан сигнал terminate.
Можно ли как в потоковой функции определить, что ее хотят прибить и завершить свои черные дела.
Просто есть подозрение, что terminate тупо грохнет поток. А нужно откатиться тогда к предыдущему состоянию

Или как это тогда можно сделать в потоковой функции.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)