我有一个QTableWidget
,QTextEdit
,并取消&好的按钮。
我希望这些小部件相对于彼此保持相同的位置,并且如果对话窗口被扩展或大小改变,则QTableWidget
将展开...
我该怎么做?
答案 0 :(得分:13)
您需要查看Qt's layout system - 使用布局会根据父级的大小自动调整对象大小。
使用QWidget::setSizePolicy()
和QBoxLayout::setStretch()
(或者更可能是QBoxLayout::insertWidget(..., int stretch = 0, ...)
)的组合将允许您实现您所引用的行为,其中只有某些对象扩展以填充可用空间,而其他保持不变的大小。
以上面给出的图片为例:
除了将对象拖放到表单中之外,为了实现此解决方案,我有:
sizePolicy
的垂直textEdit
设置为Fixed
。textEdit
minimumSize
设置sizePolicy
使用的高度。layoutStretch
中的centralWidget
设置为1,0
,即为horizontalLayout
中包含的元素指定最小可能空间,并将任何剩余空间提供给tableWidget
。