Python 如何不在QHBoxLayout中分隔小部件
使用时:Python 如何不在QHBoxLayout中分隔小部件,python,pyqt,Python,Pyqt,使用时: layout = QtGui.QHBoxLayout() layout.addWidget(QtGui.QPushButton()) layout.addWidget(QtGui.QPushButton()) layout.addWidget(QtGui.QPushButton()) 按钮在QHBoxLayout的宽度内自动隔开。 相反,我希望按钮被放置在一个接一个的边缘。 我尝试使用: layout.setContentsMargins(0, 0, 0, 0) la
layout = QtGui.QHBoxLayout()
layout.addWidget(QtGui.QPushButton())
layout.addWidget(QtGui.QPushButton())
layout.addWidget(QtGui.QPushButton())
按钮在QHBoxLayout的宽度内自动隔开。
相反,我希望按钮被放置在一个接一个的边缘。
我尝试使用:
layout.setContentsMargins(0, 0, 0, 0)
layout.importLayout.setSpacing(0)
但它对按钮间距没有影响。需要设置
QHBoxLayout
的哪个属性来覆盖自动间距?我相信您希望按钮之间的间距可以忽略不计,比如这样的
尝试使用layout.setspace(0)
你的方法已经是正确的了。版面上没有内容页边距,版面上也没有间距,将使按钮非常接近,间距约为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_()
在QCreator(Qt&C++)中,我在按钮后添加了水平间隔符
,将其向左移动。
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_()