Russian Qt Forum

Qt => Вопросы новичков => Тема начата: zagruzkaaa от Октябрь 04, 2015, 21:34



Название: Как вызвать функцию в дочерней форме
Отправлено: zagruzkaaa от Октябрь 04, 2015, 21:34
Создаю в основной форме новую форму через
Код:
NewForm *newForm = new NewForm(this);
newForm->show();
newForm->setAttribute(Qt::WA_DeleteOnClose);
Далее там же пытаюсь вызвать функцию в дочерней форме
Код:
newForm->func();
Все вызывается, но при этом в основной форме код не продолжается, пока не выполнится код в дочерней. Как это избежать? Спасибо


Название: Re: Как вызвать функцию в дочерней форме
Отправлено: gil9red от Октябрь 04, 2015, 21:51
Выполнить вызов функции в другом потоке


Название: Re: Как вызвать функцию в дочерней форме
Отправлено: Igors от Октябрь 05, 2015, 07:09
Все вызывается, но при этом в основной форме код не продолжается, пока не выполнится код в дочерней. Как это избежать? Спасибо
Ну это вообще-то нормально, никто не делает "2 формы работают с UI параллельно". Может Вы имели ввиду что func выполняет какие-то долгие расчеты и UI остается "замороженным"?
 


Название: Re: Как вызвать функцию в дочерней форме
Отправлено: Racheengel от Октябрь 05, 2015, 11:23
Имейте также в виду, что поток UI в приложении - всего один. Поэтому, как сказал gil9red, функция должна работать в отдельном потоке.