QPushButton更改相同布局中其他小部件的边距

Dir*_*eld 5 macos qt qt-creator

我有一个很大的布局,其中包含以下结构的小部件和布局:

QVBoxLayout
  QTableView
  QPushButton
Run Code Online (Sandbox Code Playgroud)

我将布局的边距,边距和间距设置为0。在Mac OS X上渲染效果的方式是,按钮无法填充其所有空间。相反,它周围有一些填充。神奇的是,布局似乎知道这一点,并确保表格视图的宽度与按钮的宽度完全一样:

QPushButton导致的魔术填充

当我删除按钮时,表格视图将返回其完整宽度:

这里没有魔术垫

如何更改它,以便按钮以及表格视图变得与布局一样宽?

我玩过样式表的填充和边距,虽然可以使用它们来使按钮变宽,但树状视图周围的多余填充仍然保留。到目前为止,我唯一的解决方案是将按钮包装在另一个小部件中,然后通过样式表将其边距和填充设置为0,但随后我失去了圆角外观。

Alb*_*rto 1

您必须将布局边距设置为 0,而不是 QPushButton 的边距。

看一看。这是设计师的外观和感觉:

在此输入图像描述

这是 QWidget 的布局属性:

在此输入图像描述

这是最终的小部件:

在此输入图像描述