如何在调整窗口大小时使QDockWidget扩展?

时间:2012-02-25 19:06:20

标签: qt qt4 qdockwidget

我有一个简单的表单: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}}

1 个答案:

答案 0 :(得分:-1)

您需要重新实施QWidget::changeEvent(或resizeEvent来调整大小)以对QEvent::WindowStateChange作出反应。如果其中一个事件发生,请获取QWidget::windowState并将您的底座调整为您想要的任何内容。