0

我有一个简单的形式:QDockWidget在右侧,QGroupBox在左侧QMainWindowQGroupBox使用垂直布局进行布局。

当主窗口放大或最大化时,我想QDockWidget扩大并占据所有可用空间。

我该怎么做?

Bellow 是我的.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>
4

1 回答 1

-1

您将需要重新实现QWidget::changeEvent(或resizeEvent用于调整大小的)以对QEvent::WindowStateChange. 如果发生这些事件之一,请获取QWidget::windowState并将您的停靠栏调整为您想要的任何内容。

于 2012-02-25T19:22:10.970 回答