Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Jammy от Декабрь 29, 2010, 14:32



Название: Как наложить виджеты друг на друга?
Отправлено: Jammy от Декабрь 29, 2010, 14:32
Собственно, сабж.
QStackedWidget не подходит.
Другими словами, как можно одним виджетом на форме перекрыть другой?


Название: Re: Как наложить виджеты друг на друга?
Отправлено: Kolobok от Декабрь 29, 2010, 14:55
QStackedLayout

или вообще без компоновщика, ручками позиционировать.


Название: Re: Как наложить виджеты друг на друга?
Отправлено: Fat-Zer от Декабрь 29, 2010, 14:58
Ума не приложу, зачем такое надо. Но тут или в ручную геометрией управлять, или свой лейаут делать....


Название: Re: Как наложить виджеты друг на друга?
Отправлено: Jammy от Декабрь 29, 2010, 15:02
QStackedLayout
или вообще без компоновщика, ручками позиционировать.
QStackedLayout не подходит.
Виджеты могут перекрываться частично, причем один из них может быть QDockWidget'ом или QMdiSubWindow.


Название: Re: Как наложить виджеты друг на друга?
Отправлено: Jammy от Декабрь 29, 2010, 15:07
Ума не приложу, зачем такое надо. Но тут или в ручную геометрией управлять, или свой лейаут делать....
сложный пользовательский интерфейс как бы.


Название: Re: Как наложить виджеты друг на друга?
Отправлено: AlekseyK от Декабрь 29, 2010, 15:54
Ну тогда нарисуй - что нужно, может кто-то, что-то подскажет.


Название: Re: Как наложить виджеты друг на друга?
Отправлено: Jammy от Декабрь 29, 2010, 16:30
Короче меню бар на рисунке должнен быть нарисован поверх остальных дочерних окон


Название: Re: Как наложить виджеты друг на друга?
Отправлено: Kolobok от Декабрь 29, 2010, 16:51
QStackedLayout позволяет так сделать. Посмотри QStackedLayout::StackAll.


Название: Re: Как наложить виджеты друг на друга?
Отправлено: ufna от Декабрь 29, 2010, 17:58
??? не использовать компоновщик и все, в чем проблема?


Название: Re: Как наложить виджеты друг на друга?
Отправлено: Jammy от Декабрь 30, 2010, 09:31
??? не использовать компоновщик и все, в чем проблема?

проблема в реализации. Как сделать так, чтобы один дочерний виджет был всегда поверх других, как старых, так и заново созданных?


Название: Re: Как наложить виджеты друг на друга?
Отправлено: ufna от Декабрь 30, 2010, 10:34
А поискать о "z order" не судьба? :)

Как минимум есть QWidget::raise() и QWidget::lower()