2014-04-11 43 views
0

我是新来的Qt,所以我启动了一个项目使用的库练习。我有两个控件窗口:有固定大小的小部件的布局里面的Qt窗口

  • 列表窗口小部件(顶部)
  • 图形视图(底部)

它们在centralWidget布局进行分组。

<?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>660</width> 
    <height>412</height> 
    </rect> 
    </property> 
    <property name="windowTitle"> 
    <string>MainWindow</string> 
    </property> 
    <widget class="QWidget" name="centralWidget"> 
    <property name="enabled"> 
    <bool>true</bool> 
    </property> 
    <layout class="QVBoxLayout" name="verticalLayout"> 
    <item> 
    <widget class="QListWidget" name="listWidget"/> 
    </item> 
    <item> 
    <widget class="QGraphicsView" name="graphicsView"> 
     <property name="sizePolicy"> 
     <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> 
     <horstretch>0</horstretch> 
     <verstretch>100</verstretch> 
     </sizepolicy> 
     </property> 
     <property name="minimumSize"> 
     <size> 
     <width>0</width> 
     <height>100</height> 
     </size> 
     </property> 
    </widget> 
    </item> 
    </layout> 
    </widget> 
    <widget class="QMenuBar" name="menuBar"> 
    <property name="geometry"> 
    <rect> 
    <x>0</x> 
    <y>0</y> 
    <width>660</width> 
    <height>21</height> 
    </rect> 
    </property> 
    </widget> 
    <widget class="QToolBar" name="mainToolBar"> 
    <attribute name="toolBarArea"> 
    <enum>TopToolBarArea</enum> 
    </attribute> 
    <attribute name="toolBarBreak"> 
    <bool>false</bool> 
    </attribute> 
    </widget> 
    <widget class="QStatusBar" name="statusBar"/> 
</widget> 
<layoutdefault spacing="6" margin="11"/> 
<resources/> 
<connections/> 
</ui> 

控件随着窗口增长,但它们没有根据需要调整大小。所以我已经阅读了Qt站点的文档,没有任何说明。以下是窗口如何调整大小的视频。

https://www.youtube.com/watch?v=rDSxcKFILOE

请留意它能够清楚地了解是什么问题。

应该如何的事情发生?

当我水平调整窗口大小,一切都已经工作正常,这两个控件成长与窗口/收缩。当我垂直调整窗口大小时,唯一应调整大小的控件是顶部的控件(ListView)。图形视图必须大小width: as the listview, height: 100

+0

修好了,不好意思 – Victor

回答

0

首先看到http://qt-project.org/doc/qt-4.8/qsizepolicy.html#Policy-enum

你需要什么(似乎是这样做)是将策略设置为QSizePolicy::Fixed。但是,在您的视频中,它显示了在某些情况下,小部件仍会缩小。

为了避免这种情况,请确保场景中的所有三个小部件都有适当的最小尺寸设置。

  • 将小部件的最小尺寸设置为与最大尺寸相同。
  • 也许去除其他部件的高最小尺寸。
  • 如果需要,设置父窗口部件的最小尺寸。

有时Qt的布局变得相当棘手,直到你得到你想要的。

相关问题