Qt QGraphicsLayout-项目之间意外的额外间距

Qt QGraphicsLayout-项目之间意外的额外间距,qt,layout,user-interface,pyqt,Qt,Layout,User Interface,Pyqt,我正在使用QGraphics Framework编写一些原型。我在模拟常规布局时遇到了麻烦 这两个小部件之间的间距很大,但我已经将所有可能的间距设置为0。请注意,我使用的是很棒的Windows管理器,因此窗口周围没有边框 这是我的代码(对不起,应该更短): 我不知道问题的根源是什么 谢谢。更改\u avatar功能中的行: avatarWidget.setContentsMargins(0, 0, 0, 0) 到 间距将从此处开始: 为此: 不知道这对你来说是否足够小,但它会失去大部分的

我正在使用QGraphics Framework编写一些原型。我在模拟常规布局时遇到了麻烦

这两个小部件之间的间距很大,但我已经将所有可能的间距设置为0。请注意,我使用的是很棒的Windows管理器,因此窗口周围没有边框

这是我的代码(对不起,应该更短):

我不知道问题的根源是什么


谢谢。

更改
\u avatar
功能中的行:

avatarWidget.setContentsMargins(0, 0, 0, 0)

间距将从此处开始:

为此:

不知道这对你来说是否足够小,但它会失去大部分的差距

更新

使用较小的pixmap,您将看到图像和UNIX文本之间的差距,因为“Hello world!”文本比pixmap宽(我用黑色突出显示了avatar小部件边框):

缩短文本将使化身小部件变小,并失去明显的间隙:

更改
\u avatar
功能中的行:

avatarWidget.setContentsMargins(0, 0, 0, 0)

间距将从此处开始:

为此:

不知道这对你来说是否足够小,但它会失去大部分的差距

更新

使用较小的pixmap,您将看到图像和UNIX文本之间的差距,因为“Hello world!”文本比pixmap宽(我用黑色突出显示了avatar小部件边框):

缩短文本将使化身小部件变小,并失去明显的间隙:

我只是在猜测,但这可能是布局拉伸问题。试着换一个较小的,看看这是否会减小间隙的大小。我们谈论的是同一件事吗?意外的额外间距是指
avatarWidget
和文本之间的间距。是的,我们是。但没关系,我试着做一些类似的事情,但是跳过了
QGraphicsLayoutItem
s,而是使用
QGraphicsWidget
s,这对我来说很有效
QGraphicsLayout::setContentsMargins
是我用来消除差距的唯一功能。它不适合我:(你可以试着做我所做的。跳过
QGraphicsLayoutItem
s,使用
QGraphicsWidget
containing
QLabels
,看看这是否有什么不同。我只是在这里猜测,但这可能是一些布局拉伸问题。尝试将其更改为较小的,看看这是否会减小间隙的大小。我们是在谈论什么同样的事情?意外的额外间距意味着
avatarWidget
和文本之间的空间。是的,我们是。但没关系,我试图做一些类似的事情,但是跳过
QGraphicsLayoutItem
s,使用
QGraphicsWidget
s,它对我有效。
QGraphicsLayout::setContentsMargins
是他是我唯一一个用来消除空白的函数。它对我不起作用:(你可以试着做我做的事情。跳过
QGraphicsLayoutItem
s,使用
QGraphicsWidget
包含
QLabels
,看看这是否有什么不同。谢谢你弄明白了:)哦,它只在图像足够小的时候起作用:(试试这个:如果图像小于它下面的文本,那么它会使整个小部件变宽。这将显示为图像和“Unix…”文本之间的额外间隙。我用一些图片更新了我的答案。感谢您的解答:)哦,它只在图像足够小的情况下工作:(试试这个:如果图像小于它下面的文本,那么它会使整个小部件变宽。这会在图像和“Unix…”文本之间出现额外的间隙。我已经用一些图片更新了我的答案。
avatarLayout.setContentsMargins(0, 0, 0, 0)