2012-02-25 190 views
0

我有一个简单的表格:QDockWidget在右侧,QGroupBoxQMainWindow的左侧。使用垂直布局铺设了QGroupBox如何让QDockWidget在窗口大小调整时展开?

我希望QDockWidget被扩展并占用主窗口放大或最大化时的所有可用空间。

我该怎么做?

贝娄是我的.ui文件的源代码。

<?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> 

回答

-1

你需要重写QWidget::changeEvent(或resizeEvent调整大小)对QEvent::WindowStateChange反应。如果发生这些事件之一,请获取QWidget::windowState并将码头调整为任何你想要的。

+0

谢谢,但我该如何调整码头小部件? 'resize(int,int)'没有帮助。调整dockWidgetContents的大小也没有帮助。 – Dmitriy 2012-02-29 10:09:51