Qt5 QDockWidget起始大小

Qt5 QDockWidget起始大小,qt5,qt-designer,qdockwidget,Qt5,Qt Designer,Qdockwidget,我觉得这应该是个简单的问题 我有一个QMainWindow和几个Qdock小部件。QDockWidget(_tree_dock,在我的代码中)从LeftDockWidget区域开始。它包含一个QWidget(dockWidgetContents_2),其中包含一个QTreeWidget(_tree_视图)。我可以在运行时调整QDockWidget的大小/移动,不会出现任何问题,但是,当程序启动时,QDockWidget会稍微太小 我可以将QDockWidget缩小很多,因此我知道它并没有达到最小

我觉得这应该是个简单的问题

我有一个QMainWindow和几个Qdock小部件。QDockWidget(_tree_dock,在我的代码中)从LeftDockWidget区域开始。它包含一个QWidget(dockWidgetContents_2),其中包含一个QTreeWidget(_tree_视图)。我可以在运行时调整QDockWidget的大小/移动,不会出现任何问题,但是,当程序启动时,QDockWidget会稍微太小

我可以将QDockWidget缩小很多,因此我知道它并没有达到最小值(200)。它也可以做得更大,因此也不会达到最大值。启动Qt Designer时,宽度始终为258

我在一些方法中输入了一些调试输出,并看到宽度从200开始。然后在调用changeEvent(QEvent*)时,宽度突然变为258

changeEvent()输入:dock的宽度为200,其中事件为105

changeEvent()退出:dock的宽度为200,其中事件为105

changeEvent()输入:dock的宽度为258,其中event为99

changeEvent()退出:dock的宽度为258,其中event为99

我将输出作为changeEvent的第一行和最后一行。根据文件,这些事件代码为:

QEvent::WindowStateChange 105 The window's state (minimized, maximized or full-screen) has changed (QWindowStateChangeEvent). QEvent::ActivationChange 99 A widget's top-level window activation state has changed. QEvent::WindowsStateChange 105窗口的状态(最小化、最大化或全屏)已更改(QWindowsStateChangeEvent)。 QEvent::ActivationChange 99小部件的顶级窗口激活状态已更改。 我猜一旦完成创建,大小就会更新?我尝试在QDockWidget和QTreeView上调用resize,但它们似乎没有任何作用。或者他们只是被覆盖的大小调整到258

差不多我需要的宽度是265。默认情况下,树视图中的一列半隐藏。如果没有“简单”的方法可以做到这一点,那么另一种方法就是将第一列稍微缩小一点

下面是带有dock的ui文件段



0
0
200
216
QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable
Qt::AllDockWidgetAreas
物体
1.
0
0
200
0
1.
1.
1.
1.
1.
0
0
200
0
0
0
真的
真的
qabstractemview::DragDrop
真的
QBStractItemView::ExtendedSelection
QBStractItemView::SelectRows
16
真的
真的
真的
<widget class="QDockWidget" name="_tree_dock">
   <property name="sizePolicy">
    <sizepolicy hsizetype="Expanding" vsizetype="Ignored">
     <horstretch>0</horstretch>
     <verstretch>0</verstretch>
    </sizepolicy>
   </property>
   <property name="minimumSize">
    <size>
     <width>200</width>
     <height>216</height>
    </size>
   </property>
   <property name="features">
    <set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set>
   </property>
   <property name="allowedAreas">
    <set>Qt::AllDockWidgetAreas</set>
   </property>
   <property name="windowTitle">
    <string>Objects</string>
   </property>
   <attribute name="dockWidgetArea">
    <number>1</number>
   </attribute>
   <widget class="QWidget" name="dockWidgetContents_2">
    <property name="sizePolicy">
     <sizepolicy hsizetype="Expanding" vsizetype="Ignored">
      <horstretch>0</horstretch>
      <verstretch>0</verstretch>
     </sizepolicy>
    </property>
    <property name="minimumSize">
     <size>
      <width>200</width>
      <height>0</height>
     </size>
    </property>
    <layout class="QVBoxLayout" name="horizontalLayout_5">
     <property name="spacing">
      <number>1</number>
     </property>
     <property name="leftMargin">
      <number>1</number>
     </property>
     <property name="topMargin">
      <number>1</number>
     </property>
     <property name="rightMargin">
      <number>1</number>
     </property>
     <property name="bottomMargin">
      <number>1</number>
     </property>
     <item>
      <widget class="QTreeView" name="_tree_view">
       <property name="sizePolicy">
        <sizepolicy hsizetype="Expanding" vsizetype="Ignored">
         <horstretch>0</horstretch>
         <verstretch>0</verstretch>
        </sizepolicy>
       </property>
       <property name="minimumSize">
        <size>
         <width>200</width>
         <height>0</height>
        </size>
       </property>
       <property name="baseSize">
        <size>
         <width>0</width>
         <height>0</height>
        </size>
       </property>
       <property name="acceptDrops">
        <bool>true</bool>
       </property>
       <property name="dragEnabled">
        <bool>true</bool>
       </property>
       <property name="dragDropMode">
        <enum>QAbstractItemView::DragDrop</enum>
       </property>
       <property name="alternatingRowColors">
        <bool>true</bool>
       </property>
       <property name="selectionMode">
        <enum>QAbstractItemView::ExtendedSelection</enum>
       </property>
       <property name="selectionBehavior">
        <enum>QAbstractItemView::SelectRows</enum>
       </property>
       <property name="indentation">
        <number>16</number>
       </property>
       <property name="rootIsDecorated">
        <bool>true</bool>
       </property>
       <property name="uniformRowHeights">
        <bool>true</bool>
       </property>
       <property name="animated">
        <bool>true</bool>
       </property>
      </widget>
     </item>
    </layout>
   </widget>
  </widget>