Python 是什么导致这些QLabel周围的间距?

Python 是什么导致这些QLabel周围的间距?,python,pyqt,Python,Pyqt,在这些标签周围有一个不寻常的间隔,我添加了一个红色边框以更好地显示所有内容 看起来是这样的: 但我希望它看起来像这样: 正如您所看到的,两个“LED”标签(使用图像中的pixmap设置)在顶部和底部都有过多的间距,尽管没有任何东西将它们设置为这种方式 class QtLed(QWidget): def __init__(self, color=None): self.ledIcon = QLabel() self.ledIcon.setObject

在这些标签周围有一个不寻常的间隔,我添加了一个红色边框以更好地显示所有内容

看起来是这样的:

但我希望它看起来像这样:

正如您所看到的,两个“LED”标签(使用图像中的pixmap设置)在顶部和底部都有过多的间距,尽管没有任何东西将它们设置为这种方式

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,谢谢。不要在你的问题中添加不相关的信息,因为这被认为是噪音。