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