我想在垂直布局中创建一个由QLineEdit
和两个QTableView
小部件组成的应用程序。
示例代码:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QWidget" name="verticalLayoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>401</width>
<height>301</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLineEdit" name="lineEdit"/>
</item>
<item>
<widget class="QTableView" name="tableView_2"/>
</item>
<item>
<widget class="QTableView" name="tableView"/>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections>
<connection>
<sender>lineEdit</sender>
<signal>returnPressed()</signal>
<receiver>Dialog</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>200</x>
<y>14</y>
</hint>
<hint type="destinationlabel">
<x>199</x>
<y>149</y>
</hint>
</hints>
</connection>
</connections>
</ui>
但是这些QTableView
小部件无法调整大小。我没有在Qt
中找到任何属性。
那么如何才能使这些QTableView
小部件可以调整大小或自动扩展和收缩?
意味着如果我减小第一个QTableView
窗口小部件的大小,那么第二个QTableView
窗口小部件的自动大小应该增加意味着如果我在运行时更改垂直布局中任何窗口小部件的大小,则每个窗口小部件应自动扩展或收缩
示例代码是在Qt4 Designer
Ubuntu 14.04
上设计的。
答案 0 :(得分:3)
中断当前布局,选择两个小部件,单击Layout Vertically in Splitter
,最后选择表单并单击layout vertically
。
答案 1 :(得分:1)
这是因为您的QDialog
上没有布局。你所做的是你在对话框的顶部拖动了一个垂直布局,现在该对话框包含absolute
定位的布局,并且没有链接到对话框。您要做的是从QSplitter
顶部的垂直布局移动所有小部件,右键单击QDialog
并在Lay out
上下文菜单条目中选择{{1} }或者点击Lay Out Vertically
并按QDialog
。结果应如下:
Ctrl + 2
我建议您阅读Qt Layout Management Documentation以获取有关此主题的更多信息。