QWidget.setContentsMargins() appears to be ineffective: why so?
pyqt4, qt4
Solution
Answer provided on Qt Forum:
The margins' content should be set both on the widget and its layout. Hence:
QWidget *w = new QWidget();
w->setContentsMargins(0, 0, 0, 0);
w->layout()->setContentsMargins(0, 0, 0, 0);
Problem
Situation: I am working on a Qt4 application constructed in this way (in case parent widgets matter in this issue): ``` QApplication |_ QMainwindow |_ QScrollArea (central widget) |_ QFrame (child of scroll area) |_ QFrame | |_ QLabel | |_ QPixmap |_ QFrame | |_ QLabel | |_ QPixmap |_ QFrame |_ ect... ``` Objective: I want there to be no margins between the sub-QFrames and their QLabels and equally between QLabels and their QPixmap. Method: I have requested to reduce the sub-QFrame’s margins with QFrame.setContentsMargins(0, 0, 0, 0) and with its layout’s QBoxLayout.setSpacing(0). Zero-margin between QLabel and its QPixmap seems to occur naturally. Problem: In spite of all this, margins within QFrames persist in showing up: a situation which I have been able to test by applying a Style Sheet to the various widgets. What can I do?