2013-08-20 3 views
0

Итак, у меня есть класс QDialog, который запускается из QMainWindow. Конструктор настраивает пользовательский интерфейс. Я объявляю объект в QMainWindow, затем я вызываю метод, который петли в классе QDialog. В результате, когда QDialog отображается (dialog-> show() находится в конструкторе), окно появляется без макета. После завершения цикла показывается макет.QDialog не окрашивается в петлю

Я попытался использовать exec() вместо этого, но тогда метод не будет выполняться до тех пор, пока диалог не будет закрыт.

+0

Какая петля? Диалоги могут быть модальными или немодальными, и если они не блокируются, они должны запускать собственный цикл событий внутри. Если вы заблокируете этот механизм, он может работать неправильно. – dtech

+1

Возможно, попробуйте поэкспериментировать с размещением 'qApp-> processEvents()' где-то вокруг кода, который создает диалог и/или запускает цикл. – Anthony

+0

qApp-> processEvents() перед вызовом метода сделал это. благодаря – nwnoga

ответ

1

qApp->processEvents() должен помочь вам. Попробуйте поместить его вокруг кода, создающего диалог и/или запустив цикл.

Смежные вопросы