Название: Блокировка Gui Отправлено: ecspertiza от Сентябрь 09, 2009, 11:26 Вопрос такой как на время выполнения процедуры заблокировать GUI.
Пробовал с помощью QDialog то есть в начале процедуры выводил диалог с помощью exec() но стало быть выполнение программного кода тоже останавливается. Пробую пока создавать отдельный поток но что то всё плохо ибо он должен очень тесно общаться с главным потоком, может подскажете чего. Название: Re: Блокировка Gui Отправлено: BaltikS от Сентябрь 09, 2009, 11:36 qApp->processEvents(QEventLoop::ExcludeUserInputEvents); ???
Название: Re: Блокировка Gui Отправлено: ecspertiza от Сентябрь 09, 2009, 11:49 помогло и просто
qApp->processEvents(); спасибо, я долго мучился :) Название: Re: Блокировка Gui Отправлено: zenden от Сентябрь 09, 2009, 12:19 Странно, обычно спрашивают как РАЗблокировать GUI во время выполнения процесса.
и ответом на этот вопрос как раз-таки бывает processEvents() а насчет QDialog - setModal() и show() вам в помощь Название: Re: Блокировка Gui Отправлено: ecspertiza от Сентябрь 09, 2009, 13:56 Ну на самом деле там идёт довольно большая перерисовка, и пользователю нужно сказать мол подожди не кликай всё подряд.
Вот и тут меня спас QDialog и всё токи qApp->processEvents(QEventLoop::ExcludeUserInputEvents); Название: Re: Блокировка Gui Отправлено: lit-uriy от Сентябрь 09, 2009, 14:25 >>довольно большая перерисовка, и пользователю нужно сказать мол подожди не кликай всё подряд.
Может тогда лучше сразу пачку всего перерисовывать. setUpdatesEnable для главного виджета? Название: Re: Блокировка Gui Отправлено: spectre71 от Сентябрь 10, 2009, 07:37 Вопрос такой как на время выполнения процедуры заблокировать GUI. Пробовал с помощью QDialog то есть в начале процедуры выводил диалог с помощью exec() но стало быть выполнение программного кода тоже останавливается. ... Код
|