我想管理我的小部件之间的空间,verticaly和horizontaly。
这是一张说明我想要的图片:
当我点击红点时,我想缩小/扩展红线所在的空间(垂直)。
当我点击蓝点时,我想缩小/扩展蓝线所在的位置(水平)。
我的架构是这样的:
一个带有布局的主Widget,其中包含左/右箭头按钮和所有白色视图的QWidget。
此QWidget包含QGridLayout。在这个QGridLayout中,我有"左","返回" ...小部件(截图中为白色)。
我尝试设置VIEW-> setContentsMargins();但是白色矩形保持不变,只有这个矩形内的间距发生变化(例如,在边框和"左边"标签之间(屏幕上的1和2))。
我还尝试设置GRIDLAYOUT-> setContentsMargins();但这次只有屏幕上3号和4号的间距才会发生变化。
显然,水平调整大小有相同的行为。 (截图上的蓝色标记。
间距不允许分别管理垂直和水平间距......
我希望你理解我试图解释的内容:o
我该如何管理?
提前谢谢你,
答案 0 :(得分:5)
为了管理白色区域之间的空间,您可以轻松使用
QGridLayout()::setHorizontalSpacing(int spacing);
QGridLayout()::setVerticalSpacing(int spacing);
这将设置白色rects之间的空间,而不是白色rect和上部widget的边框之间的空间。对于这些,你将不得不使用(继承自QLayout):
QGridLayout()::setContentsMargins ( int left, int top, int right, int bottom )