PyQt在设置背景图像或颜色时留下边距

时间:2016-05-03 08:44:22

标签: qt widget pyqt4

我正在使用PyQt4开发gui开发。我已经使用堆栈小部件将6个小部件集中到一个ui应用程序中。现在我想为每个不同的小部件设置背景颜色和背景图像。当我使用palette和/或setStyleSheet()设置颜色或图像时,它会为每一边留下一些余量。我不知道如何清除这个边际。

如果有人知道在这里发帖。

------------------------ ********************* - --------------------------------- @Fabio这里是一个片段,将不同类别的页面添加到stackedwidget

def initWidget(self):
    self.stack = QtGui.QStackedWidget()
    layout = QtGui.QVBoxLayout(self)
    layout.addWidget(self.stack)

    self.intropg = Intropage_Gui()
    self.stack.addWidget(self.intropg)

    self.mainpg = MainPage_Gui()
    self.stack.addWidget(self.mainpg)

    self.monitorparams = MonitorParams_Gui()
    self.stack.addWidget(self.monitorparams)

    self.interlockparams = InterlockParams_Gui()
    self.stack.addWidget(self.interlockparams)

    self.setctrls = SetControl_Gui()
    self.stack.addWidget(self.setctrls)

    self.calib = Calib_Gui()
    self.stack.addWidget(self.calib)

    self.commparams = CommParams_Gui()
    self.stack.addWidget(self.commparams)

这里我添加了不同的小部件类。现在我想改变每个页面/小部件的背景颜色或图像。当我这样做时,它会留下一些余量。

1 个答案:

答案 0 :(得分:1)

我猜这是因为你做的时候

layout.addWidget(self.stack)

垂直布局自动添加每边的边距。子窗口小部件的默认布局边距为9,每http://doc.qt.io/qt-5/qboxlayout.html

窗口的默认布局边距为11

尝试

layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.stack)    
layout.setContentsMargins(0, 0, 0, 0)