Как да накарам QDockWidget да се разширява, когато прозорецът е преоразмерен?

Имам проста форма: QDockWidget от дясната страна, QGroupBox от лявата страна на QMainWindow. QGroupBox е разположен с помощта на вертикално оформление.

Искам 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>

person Dmitriy    schedule 25.02.2012    source източник


Отговори (1)


Ще трябва да внедрите отново QWidget::changeEvent (или a resizeEvent за преоразмеряване), за да реагира на QEvent::WindowStateChange. Ако възникне едно от тези събития, вземете QWidget::windowState и преоразмерете вашия док до каквото искате.

person pmr    schedule 25.02.2012
comment
Благодаря, но как да преоразмеря приспособлението за докинг станция? resize ( int, int ) не помага. Преоразмеряването на dockWidgetContents също не помага. - person Dmitriy; 29.02.2012