Russian Qt Forum
Май 04, 2024, 05:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как вызвать функцию в дочерней форме  (Прочитано 2278 раз)
zagruzkaaa
Гость
« : Октябрь 04, 2015, 21:34 »

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

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Октябрь 04, 2015, 21:51 »

Выполнить вызов функции в другом потоке
Записан

Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Октябрь 05, 2015, 07:09 »

Все вызывается, но при этом в основной форме код не продолжается, пока не выполнится код в дочерней. Как это избежать? Спасибо
Ну это вообще-то нормально, никто не делает "2 формы работают с UI параллельно". Может Вы имели ввиду что func выполняет какие-то долгие расчеты и UI остается "замороженным"?
 
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #3 : Октябрь 05, 2015, 11:23 »

Имейте также в виду, что поток UI в приложении - всего один. Поэтому, как сказал gil9red, функция должна работать в отдельном потоке.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.055 секунд. Запросов: 23.