Russian Qt Forum

Qt => Общие вопросы => Тема начата: Sacha_D от Июнь 24, 2013, 07:39



Название: Не срабатывают соединения сигнал-слот при перемещении и изменении размеров окна
Отправлено: Sacha_D от Июнь 24, 2013, 07:39
Здравствуйте.

     Есть класс, содержащий очередь задач и выполняющий шаг задачи или переходящий к следующей по таймеру. Шаги задач должны выполняться не более чем за определённое время. Объект этого класса находится в том-же потоке, что и GUI. При изменении размеров окна, например если его таскать мышью по экрану или постоянно двигать его границы, сигналы перестают доставляться и задачи завершаются с ошибками. Можно ли сделать чтобы соединения сиглал слот срабатывали немедленно при изменении размеров окна или всё-таки надо вынести объект класса, выполняющего задачи в отделдьный поток?

Благодарю за ответы.


Название: Re: Не срабатывают соединения сигнал-слот при перемещении и изменении размеров окна
Отправлено: Old от Июнь 24, 2013, 07:50
Дело происходит в винде?
Тогда ничего не сделать, это ее беда.
Пробуйте отдельный поток.


Название: Re: Не срабатывают соединения сигнал-слот при перемещении и изменении размеров окна
Отправлено: Sacha_D от Июнь 24, 2013, 08:07
Да, в ней ужасной. Буду делать в отдельном потоке.


Название: Re: Не срабатывают соединения сигнал-слот при перемещении и изменении размеров окна
Отправлено: Bepec от Июнь 24, 2013, 08:24
Известная проблема оконного менеджера винды.

Отдельные потоки спасут. Тормозится только основной (ГУИ-шный).


Название: Re: Не срабатывают соединения сигнал-слот при перемещении и изменении размеров окна
Отправлено: lit-uriy от Июнь 24, 2013, 13:23
как вариант попробовать отключить функцию "Отображать содержимое окна при перетаскивании"
(Свойства компьютера, вкладка Быстродействие)


Название: Re: Не срабатывают соединения сигнал-слот при перемещении и изменении размеров окна
Отправлено: Странник от Июнь 24, 2013, 15:44
как вариант попробовать отключить функцию "Отображать содержимое окна при перетаскивании"
(Свойства компьютера, вкладка Быстродействие)
в любом случае в условиях лимита времени на выполнение задачи GUI необходимо вынести в отдельный поток.