Название: Как вызывать диалоги из не GUI потока? Отправлено: juvf от Январь 26, 2011, 09:18 Есть основной (GUI) поток. Есть другой поток занимающийся обменом по GSM модему. Иногда второму потоку нужно что-то от пользователя, например ввести пинкод. Хотелось бы вызвать статическую функцию какого-нибудь диалога, который вернет пинкод. что-то типа
QString pinCode = PinCodeDialog::getPinCode(); как такое в Qt реализовывается? ps в билдере есть синхронизация с гуипотоком. можно из не гуи потока вызвать диалог с помощью Synchronize(). На время выполнения диалога не гуи поток останавливается. Synchronize позволяет избежать всякие сбои, которые возможны при обращении к одним данным из разных потоков. Название: Re: Как вызывать диалоги из не GUI потока? Отправлено: alexman от Январь 26, 2011, 09:24 Можно послать сигнал в GUI поток (при конекте указать ключ Qt::BlockingQueuedConnection); там показать диалог и установить флаг в текущем потоке. Конечно можно все это дело обернуть PinCodeDialog::getPinCode();
Название: Re: Как вызывать диалоги из не GUI потока? Отправлено: juvf от Январь 26, 2011, 09:38 идея понятна, спасибо
|