Qt 控件边距与布局边距
QWidget和布局中都有SetContentsMargin。那么是增加了两个利润率,还是两个利润率相同。举一个例子,当一个布局被设置为widget,边距同时被设置为widget和布局时,Qt是否有一个标准的方法?Qt的所有内置布局都是这样的吗?这一切背后的原始想法是什么?在小部件上,边距是小部件中的一个区域 因此,如果您有一个大小为100 x 50、边距为(5,6,5,6)的小部件,那么您将有一个Qt 控件边距与布局边距,qt,Qt,QWidget和布局中都有SetContentsMargin。那么是增加了两个利润率,还是两个利润率相同。举一个例子,当一个布局被设置为widget,边距同时被设置为widget和布局时,Qt是否有一个标准的方法?Qt的所有内置布局都是这样的吗?这一切背后的原始想法是什么?在小部件上,边距是小部件中的一个区域 因此,如果您有一个大小为100 x 50、边距为(5,6,5,6)的小部件,那么您将有一个contentsRect()的QRect(5,6 90x38) 小部件可以提取其边距,就QLayo
contentsRect()
的QRect(5,6 90x38)
小部件可以提取其边距,就QLayout
而言,这些边距在小部件中计算。这些边距用于通知其他小部件和子类小部件的“核心”在哪里。这有助于告诉子类允许在哪里绘制
布局的边距是相同的。它们表示布局中的一个区域。如果您有一个左边距为10px的布局,则第一个小部件将渲染距离布局边界10px的内容。如果此小部件的左边距为5px,则小部件的有意义内容将从距离布局边框15px的位置开始。然而,正如我之前所说,10px到15px的部分在小部件中,小部件可以在这个空间中绘制
在布局中,您也有间距
,至于边距,它加起来就是小部件的边距
附加信息
如果将布局放置在小部件中,则布局将只占据内容矩形(contentsRect()
)。然后版面将有自己的边距,计入版面内
总而言之,总可见边距是父窗口小部件的边距+布局的边距+子窗口小部件的边距。感谢您的回答,但这不是我要问的。在上面的示例中,您有外部布局和内部两个小部件。您已经解释了外部布局的边距和内部小部件的边距。我的问题是,当您在小部件中有一个布局时。以下面的代码为例:QWidget*ContainerWidget=newqwdget;QGridLayout*ContainerLayout=新的QGridLayout(ContainerWidget)。现在ContainerWidget内的总边距=ContainerWidget的边距或ContainerWidget的边距+ContainerLayout的边距?