Как избежать уродливого перекрытия со слишком большим количеством док-виджетов в QMainWindow?

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

Однако, если слишком много док-виджетов добавлено программно с помощью addDockWidget(...), они начинают перекрывать друг друга (не с точки зрения вкладок, а с точки зрения содержимого одного, нарисованного на области другого, что явно выглядит сломанным. ).

Overlapping dockwidgets

Пользователь может перемещать виджеты доков в области закрепления , в которых еще осталось свободное место, но макет/главное окно успешно предотвращает (добавление )без вкладок )повторно -в "переполненную" область закрепления.

Мы разрешаем доки с вкладками, чтобы пользователь мог упорядочивать виджеты доков по мере необходимости, но мы не хотим включать QMainWindow::ForceTabbedDocks, так как это слишком сильно ограничит количество одновременно видимых виджетов доков (по одному на область дока ).

Как я могу предотвратить это или лучше контролировать, как добавляются док-виджеты?

8
задан Johannes S. 30 July 2012 в 08:15
поделиться