def addLine(self): baseLayout = self.currentWidget().children()[0] lineLayout = QHBoxLayout() lineLayout.setContentsMargins(1,1,1,1) checkBox = QCheckBox(); checkBox.setChecked(True); checkBox.setContentsMargins(1,1,1,1) lineEdit = QLineEdit(); lineEdit.setContentsMargins(1,1,1,1) lineEdit.installEventFilter( self.lineEditEventFilter ) button = QPushButton( " - " ); button.setContentsMargins(1,1,1,1) lineLayout.addWidget( checkBox ) lineLayout.addWidget( lineEdit ) lineLayout.addWidget( button ) baseLayout.insertLayout( baseLayout.count()-2, lineLayout ) QtCore.QObject.connect( button, QtCore.SIGNAL( "clicked()" ), partial( self.removeLine, lineLayout ) ) self.lineLayouts.append( lineLayout )