Python 是什么导致这些QLabel周围的间距?
在这些标签周围有一个不寻常的间隔,我添加了一个红色边框以更好地显示所有内容 看起来是这样的: 但我希望它看起来像这样: 正如您所看到的,两个“LED”标签(使用图像中的pixmap设置)在顶部和底部都有过多的间距,尽管没有任何东西将它们设置为这种方式Python 是什么导致这些QLabel周围的间距?,python,pyqt,Python,Pyqt,在这些标签周围有一个不寻常的间隔,我添加了一个红色边框以更好地显示所有内容 看起来是这样的: 但我希望它看起来像这样: 正如您所看到的,两个“LED”标签(使用图像中的pixmap设置)在顶部和底部都有过多的间距,尽管没有任何东西将它们设置为这种方式 class QtLed(QWidget): def __init__(self, color=None): self.ledIcon = QLabel() self.ledIcon.setObject
class QtLed(QWidget):
def __init__(self, color=None):
self.ledIcon = QLabel()
self.ledIcon.setObjectName('ledIcon')
self.changeColor(color)
QWidget.__init__(self)
lay = QVBoxLayout(self)
lay.addWidget(self.ledIcon)
def changeColor(self, color):
pixmap = QPixmap('img/offLED.png')
if color == "green":
pixmap = QPixmap('img/greenLED.png')
if color == "red":
pixmap = QPixmap('img/redLED.png')
pixmap = pixmap.scaled(15, 15, Qt.KeepAspectRatio)
self.ledIcon.setPixmap(pixmap)
class BOX(QWidget):
mode = None
connected = False
def __init__(self, BOXnum):
QWidget.__init__(self)
self.ID = BOXnum
self.frame = QGroupBox()
self.frame.setTitle('BOX' + str(self.ID))
BOXcontent = QVBoxLayout()
BOXcontent.setAlignment(Qt.AlignHCenter)
self.frame.setLayout(BOXcontent)
modeBox = QHBoxLayout()
modeBox.setObjectName('modeBox')
SWlabel = QLabel("SW")
HWlabel = QLabel("HW")
SWlabel.setAlignment(Qt.AlignHCenter);
HWlabel.setAlignment(Qt.AlignHCenter);
modeBox.addWidget(SWlabel)
modeBox.addWidget(HWlabel)
BOXcontent.addLayout(modeBox)
ledBox = QHBoxLayout()
ledBox.setObjectName('ledBox')
self.led1 = QtLed("green")
self.led2 = QtLed("red")
ledBox.addWidget(self.led1)
ledBox.addWidget(self.led2)
BOXcontent.addLayout(ledBox)
configButton = QPushButton("Config")
BOXcontent.addWidget(configButton)
powerButton = QPushButton("Start")
BOXcontent.addWidget(powerButton)
我尝试添加一个全局
边距:0代码>和填充:0代码>到每个小部件,这也不起作用。有什么想法吗?修改我的qtld
对象的\uuuu init\uuuu
以包含以下行似乎给了我想要的行为。感谢@eyllanesc的回答
self.ledIcon.setAlignment(Qt.AlignHCenter)
self.ledIcon.setContentsMargins(0,0,0,0)
layout.setContentsMargins(0,0,0,0)
试试:self.ledIcon.setContentsMargins(0,0,0,0)
lay.setContentsMargins(0,0,0,0)
在qtld\uuu init\uuuuuIcon
这似乎可以解决问题,但lay是什么呢?lay=QVBoxLayout(self)lay.addWidget(self.ledIcon)
啊,我是个白痴,也就是说layout,谢谢。不要在你的问题中添加不相关的信息,因为这被认为是噪音。