【问题标题】:How to make QDockWidget to expand when the window is resized?调整窗口大小时如何使QDockWidget展开?
【发布时间】:2016-04-07 00:19:52
【问题描述】:

我有一个简单的表格:QDockWidget 在右侧,QGroupBoxQMainWindow 的左侧。 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>

【问题讨论】:

    标签: qt qt4 qdockwidget


    【解决方案1】:

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

    【讨论】:

    • 谢谢,但是如何调整停靠小部件的大小? resize ( int, int ) 没有帮助。调整 dockWidgetContents 的大小也无济于事。
    猜你喜欢
    • 2013-11-05
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 2019-05-15
    相关资源
    最近更新 更多