小部件边距与布局边距

时间:2019-07-04 14:08:03

标签: qt

在QWidget和布局中都有SetContentsMargin。因此,要添加两个边距,还是两个边距都在相同的边距上运行。以一个将布局设置为窗口小部件并将边距同时设置为窗口小部件和布局为例,Qt是否有标准方法? Qt的所有内置布局都遵循吗?这一切背后的原始想法是什么?

1 个答案:

答案 0 :(得分:0)

在小部件上,边距是小部件内的一个区域。

因此,如果您有尺寸为100 x 50且边距为(5,6,5,6)的小部件,则contentsRect()QRect(5,6 90x38)

窗口小部件可以绘制其边距,并且就QLayout而言,这些边距均计入窗口小部件中。这些边距用于通知其他小部件和子类小部件的“核心”在哪里。这对于告诉子类允许在哪里绘制很有用。

布局的边距相同。它们代表布局中的一个区域。如果您的版面左侧边距为10像素,则第一个小部件将在距版图边框10像素处渲染。如果此窗口小部件的左侧边距为5像素,则该窗口小部件的有意义的内容将从布局边框开始15像素。但是,正如我之前所说,10像素到15像素的部分在小部件内,并且小部件可以在此空间中绘制。

在布局中,您还拥有spacing,关于页边距,它等于小部件的页边距。

enter image description here

其他信息

如果将布局放置在小部件内,则布局将仅占据内容矩形(contentsRect())。然后,版式将有自己的边距,计入版式内部。

总而言之,总可见边距是父窗口小部件的边距+布局的边距+子窗口小部件的边距。