Qt 5.7 QDockWidget размер по умолчанию

Я пытаюсь выполнить следующие настройки:

в начале (когда главное окно открыто) я хочу иметь 2 QDockWidgets слева с шириной 400px и высотой 1/2 (каждый) от высоты QMainWindows. Слева три QDockWidgets с шириной 400 пикселей и высотой 1/3 (каждый) от высоты QMainWindows. Все 5 виджетов должны быть изменяемого размера. Это означает использование setFixSize() не будет работать в этом случае.

До сих пор я пытался изменить Geometry>Width а также Gemetry>Height в дизайне -> не работает.

Затем я попытался с помощью resize() в конструкторе главного окна, но это не сработало.

Почему не Gemetry>Height/Width а также resize() Есть ли влияние на размер виджетов и как добиться макета главного окна, как описано выше?

1 ответ

Dock-виджеты будут добавлены в макет главного окна, поэтому изменение их размера не будет иметь никакого эффекта. Одним из способов решения этой проблемы является переопределение sizeHint виджета контента, который добавляется в каждый виджет-док.

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

Другие вопросы по тегам