Я пытаюсь сделать приложение, состоящее из QMainWindow
, центральным виджетом которого является QToolBar
(это может быть не обычно, но для моей цели панель инструментов хорошо подходит).Доки разрешены только ниже.Я добавил QDockWidget
к нему, а QAction
на QToolBar
включает и выключает QDockWidget
с removeDockWidget()
и restoreDockWidget()
.
Размер по умолчанию QMainWindow
равно 800 на 24, QToolBar
s maximumHeight
также установлено на 24.Сразу после вызова removeDockWidget()
геометрия QMainWindow
возвращается на (0,0,800,24)
с setGeometry()
.
Что я хочу достичь, это изменить высоту QMainWindow
до 24когда DockWidget
удалены.setGeometry()
, кажется, работает, так как ширина и положение изменяются соответственно, но, как ни странно, высота не сдвигается.И это действительно моя проблема:)
Что ты думаешь?
Вот скриншот , иллюстрирующий данную проблему.
Примечание: если я создаю тот же сценарий, используя QWidget, а не QMainWindow, и использую show()
или hide()
для дочернего виджета, то я могу изменить размер родительского элемента с помощью adjustSize()
без проблем: кажется, проблема здесь выше - QMainWindowспецифичны.