如何不在 QHBoxLayout 中分隔小部件

alp*_*ric 3 python pyqt

使用时:

layout = QtGui.QHBoxLayout()
layout.addWidget(QtGui.QPushButton())
layout.addWidget(QtGui.QPushButton())
layout.addWidget(QtGui.QPushButton())
Run Code Online (Sandbox Code Playgroud)

按钮在 QHBoxLayout 的宽度内自动间隔开。相反,我希望将按钮并排放置。我曾尝试使用:

    layout.setContentsMargins(0, 0, 0, 0)
    layout.importLayout.setSpacing(0) 
Run Code Online (Sandbox Code Playgroud)

但它对按钮间距没有影响。QHBoxLayout需要设置什么属性来覆盖自动间距?

Tri*_*ion 5

你的方法已经是正确的。布局上没有内容边距以及布局上没有间距会使按钮非常靠近,间距约为 2 像素。样式表设置的负边距可以将按钮进一步组合在一起,但我不推荐它,因为它看起来不太好。

from PySide import QtGui

app = QtGui.QApplication([])
window = QtGui.QWidget()
window.setStyleSheet('QPushButton{margin-left:-1px;}') # remove this line if you want to have a tiny bit of spacing left

layout = QtGui.QHBoxLayout(window)
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))

window.show()

app.exec_()
Run Code Online (Sandbox Code Playgroud)