Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Caduceus от Декабрь 07, 2010, 22:50



Название: Почему-то не добавляются кнопки в рантайме, а в конструкторе - все ок
Отправлено: Caduceus от Декабрь 07, 2010, 22:50
Есть виджет, в констврукторе на него ребенком добавляю QFrame

Уже после этого на этот QFrame добавляю динамически кнопки QPushButton. А они не добавлятся, их не видно на виджете.
Хотя если сделать тот же самый код добавления кнопки в конструкторе виджета - то все ок. В чем причина?


Название: Re: Почему-то не добавляются кнопки в рантайме, а в конструкторе - все ок
Отправлено: SABROG от Декабрь 07, 2010, 22:59
Причина, скорее всего, в том, что конструктор главного виджета вызывается до вызова show() в main.cpp, а метод show() автоматически делает видимыми все дочерние виджеты. В рантайме show() уже был ранее вызван, поэтому для каждого нового виджета нужно вызывать его вручную, т.к. по умолчанию все виджеты создаются скрытыми.


Название: Re: Почему-то не добавляются кнопки в рантайме, а в конструкторе - все ок
Отправлено: Caduceus от Декабрь 07, 2010, 23:01
Хе. Точно. СПАСИБО