2012-03-15 4 views
0

То, что я хочу сделать, это использовать виджеты Qt Dock и Dock так, как они есть, за исключением того, что мне хотелось бы показывать только виджет, а не весь Dock.Настройка Qt Dock

, чтобы уточнить: при появлении навесного виджета появляется вся док-станция и виджет находится на доке. Я хотел бы скрыть часть док-станции, которая не занята виджетами, есть ли способ сделать это?

Пожалуйста, дайте мне знать, если я смогу уточнить.

+0

Скрывает раму дока, что вы спрашиваете? – Koying

+0

хорошо им не уверен, что это значит ... в основном я хочу функциональность док-станции, не показывая приставку ... только виджет док-станции – PTBG

ответ

0

Я не думаю, что это возможно с виджетами Dock. В QMainWindow есть 4 фиксированных области док-станции, которые отображаются, если на них падает виджет док-станции.

Что вы можете попробовать - отключить фактическую стыковку с помощью void setAllowedAreas(Qt::NoDockWidgetArea) и обработать «привязку» себя с помощью void QWidget::moveEvent (QMoveEvent * event), привязывая виджет к краям главного окна, если он входит в x пикселей его.

0

Hummm это кажется трудным ... Для начала используйте QDockWidget::setTitleBarWidget (QWidget * widget), чтобы настроить пользовательскую строку заголовка. Вы можете создать специальный виджет с минимальным минимальным размером, подсказкой минимального размера и который не окрашен (или окрашен как невидимый).