我有 3 个垂直布局的表格(A、B 和 C)。这 3 个表格的大小策略(水平和垂直)设置为扩展。如何使表 A 的大小成为 B 和 C 的 3 倍,并始终保持该比例。我通过 QT Designer 来完成此操作。
Update:
为了测试布局拉伸方法。我在垂直布局内添加了四个 QlistWidgets 到具有水平布局的表单中。这是表单的 XML
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>formPracticeClass</class>
<widget class="QMainWindow" name="formPracticeClass">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>847</width>
<height>661</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>formPractice</string>
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="1,0,0,0">
<item>
<widget class="QListWidget" name="listWidget"/>
</item>
<item>
<widget class="QListWidget" name="listWidget_3"/>
</item>
<item>
<widget class="QListWidget" name="listWidget_2"/>
</item>
<item>
<widget class="QListWidget" name="listWidget_4"/>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources>
<include location="formpractice.qrc"/>
</resources>
<connections/>
</ui>
具有 4 个小部件的垂直布局的拉伸布局为 1,0,0,0。最上面的小部件的高度看起来比其他小部件小。我希望最上面的小部件比其他小部件大 2 倍
在包含 3 个表的布局上,设置layoutStretch
财产给3,1,1
在 Qt 设计器中。这指定布局中的第一个元素的空间应是布局中其他两个元素的 3 倍。
Update:
对于更新的示例 .ui 文件,您可以通过设置最上面的小部件比其他小部件大 2 倍layoutStretch
to 2,1,1,1
:
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="2,1,1,1">
请注意,拉伸属性指定ratios布局的不同元素之间。换句话说,如果您将其中一个元素设置为layoutStretch
财产给0
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)