我有一个简单的表单:QDockWidget
位于QGroupBox
左侧,QMainWindow
位于QGroupBox
左侧。 QDockWidget
使用垂直布局进行布局。
我希望展开<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>653</width>
<height>381</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>GroupBox</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QDockWidget" name="dockWidget">
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents"/>
</widget>
</widget>
<resources/>
<connections/>
</ui>
并在主窗口放大或最大化时占用所有可用空间。
我该怎么做?
Bellow是我的 .ui 文件的源代码。
{{1}}
答案 0 :(得分:-1)
您需要重新实施QWidget::changeEvent(或resizeEvent
来调整大小)以对QEvent::WindowStateChange
作出反应。如果其中一个事件发生,请获取QWidget::windowState并将您的底座调整为您想要的任何内容。