Я использую виджеты док-станции, чтобы пользователь мог организовать инструменты так, как она хочет. Некоторые из моих док-виджета содержат статические элементы управления (FS, фиксированный вертикальный размер), другие - изображения, тем больше (ES, расширяя вертикальный размер).Получение правильного макета QDockWidget
Проблемы я лицо, что я не могу получить конфигурацию подсказок размера, что позволяет мне сделать это:
- Сделайте прикрепляемые виджеты переменного размера как можно больше
- Пусть всем прикрепляемые виджетам вкладку друг с другом без buggy behavior
Для 1., я могу установить вертикальную политику всех виджетов содержимого FS на «Исправлено». Это заставит контейнер использовать все свободное пространство для виджетов с переменным размером. Однако, как только ES-виджет будет помечен с помощью виджета FS, в то время как виджет FS не отображается, я в лучшем случае получаю упрямое поведение (пользователь не может настроить размер) и худшее поведение в худшем случае (при корректировке размера, ошибок рисования, фактических размер не изменился).
Для 2., я могу установить для всех вертикальных политик либо «Предпочтительный» (FS), либо «Expanding» (ES). Это должно отдавать предпочтение ES, но это не так. Я также пробовал играть с вертикальным растяжением до начала (пока он - полезен в других сценариях, где не задействованы DockWidgets).
Я застрял в ситуации, когда по умолчанию приложение тратит пространство, и пользователь должен выполнять несколько настроек размеров док-виджета всякий раз, когда изменяется размер окна/макет. Это очень утомительно и противоречиво.
Как это сделать правильно?
И следующий вопрос: как научить DockWidget, что его содержимое имеет конкретное соотношение сторон?
Я сомневаюсь, что есть решение. Поведение QDockWidget жестко запрограммировано, и его слишком мало. Если вам нужен полный контроль над поведением виджетов док-станции, вам необходимо реализовать его самостоятельно. –