Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: alex-v от Май 07, 2011, 11:22



Название: Как добавить виджет при абсолютном позиционировании
Отправлено: alex-v от Май 07, 2011, 11:22
В дизайнере это легко.
А как это сделать программно?
т.к parentWidget->layout()  возвращает NULL при абсолютном позиционировании


Название: Re: Как добавить виджет при абсолютном позиционировании
Отправлено: NortT от Май 07, 2011, 12:09
А какой layout при таком позиционировании?
Код:
    QPushButton *btn  = new QPushButton;
    btn->setGeometry(200,200,50,50);
    btn->setParent(this);
и все


Название: Re: Как добавить виджет при абсолютном позиционировании
Отправлено: alex-v от Май 08, 2011, 13:55
Да. работает. спасибо.

Только этот код дает эффект при использовании его в конструкторе класса.
Но если пробовать таким образом добавить кнопку потом (после создания окна) в другом месте кода, то не добавляется виджет.
Объясните почему.
Спасибо.


Название: Re: Как добавить виджет при абсолютном позиционировании
Отправлено: alex-v от Май 08, 2011, 14:21
эх.... :)

осенило....
надо потом еще так:
Код:
btn->show();


Название: Re: Как добавить виджет при абсолютном позиционировании
Отправлено: lit-uriy от Май 09, 2011, 07:05
в доке по QWidget сказано - всех детей нужно явно показывать (show()), если родитель уже виден на экране (отработал его метод show())