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