Переопределение QMdiArea SubWindowView

Я младший инженер-программист, и у меня есть идея, но я не знаю, как ее реализовать. Я хочу переопределить SubWindowView QMdiArea. На самом деле я хочу смешать SubWindowView и TabbedView. Например, я хочу дать SubWindowView некоторые функции из TabbedView. Панель вкладок с именами окон, и когда вы нажимаете на какое-либо окно вкладки, его имя отображается над другими окнами.


person zuzman322    schedule 19.12.2013    source источник


Ответы (1)


Это возможно. Вам нужно добавить QTabBar поверх QMdiArea и реализовать его поведение вручную (например, добавить новые вкладки при создании новых окон и закрыть окно, когда запрашивается закрытие вкладки).

person Pavel Strakhov    schedule 19.12.2013
comment
Это хорошая идея, но в моем приложении уже есть кнопка, которая динамически меняет режим просмотра QMdiArea, и что мне делать с этим QTabBar, когда окна отображаются как вкладки? Есть ли лучшее решение? (спасибо за совет:)) - person zuzman322; 20.12.2013
comment
но, может быть, мне следует создавать панель QTab каждый раз, когда я меняю режим просмотра в SudWindowView, и уничтожать ее, когда я меняю режим просмотра в представлении с вкладками? только один вопрос: изменит ли QMdiArea свой размер, когда я это сделаю? (QMdiArea содержится в QVBoxLayout) - person zuzman322; 20.12.2013
comment
Вы можете уничтожить или просто скрыть QTabBar, когда он не нужен. Если вы правильно используете макеты, QMdiArea должна заполнить все доступное пространство. - person Pavel Strakhov; 20.12.2013
comment
Я сделал это, но затем добавил QTabBar в Layout, во-вторых, он меняет ее положение (( есть идеи, как это исправить?) - person zuzman322; 20.12.2013