getIndex()))
                    self.clients[index].stopButton.clicked.connect(partial(self.clientstop, '0', client.getIndex()))

    def deleteClient(self):
            if (len(self.clients) > 1):
                    self.vLayout3.removeWidget(self.clients.pop())

This is where I complete the layout
    def initializeUi(self):

            self.mainWidget = QWidget(self)
            self.setCentralWidget(self.mainWidget)

            self.mainLayout = QVBoxLayout(self.mainWidget)
            self.hLayout1 = QHBoxLayout()
            self.hLayout2 = QHBoxLayout()
            self.vLayout1 = QVBoxLayout()
            self.vLayout2 = QVBoxLayout()
            self.vLayout3 = QVBoxLayout()

            self.addServer()
            self.addClient()

            self.serverBox = QGroupBox('Server')
            self.clientBox = QGroupBox('Client')

            self.traffic1 = QLabel('0.0Mb/s', self)
            self.traffic1.setAlignment(Qt.AlignRight)
            self.traffic2 = QLabel('0.0Mb/s', self)
            self.traffic2.setAlignment(Qt.AlignCenter)
            self.traffic3 = QLabel('0.0Mb/s', self)
            self.traffic3.setAlignment(Qt.AlignLeft)

            self.newClientButton = QPushButton('+', self)
            self.deleteClientButton = QPushButton('-', self)

            self.hLayout1.addWidget(self.traffic1)
            self.hLayout1.addWidget(self.traffic2)
            self.hLayout1.addWidget(self.traffic3)
            self.hLayout2.addWidget(self.newClientButton)
            self.hLayout2.addWidget(self.deleteClientButton)
            self.vLayout2.addLayout(self.vLayout3)
            self.vLayout2.addLayout(self.hLayout2)

            self.mainLayout.addWidget(self.plot)
getIndex ()) ) 
                     self.clients[index].stopButton.clicked.connect(partial(self.clientstop,' 0', client.getIndex ()) ) 

     def deleteClient(self ): 
             if (len(self.clients) > 1 ): 
                     self.vLayout3.removeWidget(self.clients.pop ()) 

 This is where I complete the layout 
     def initializeUi(self ): 

             self.mainWidget = QWidget(self) 
             self.setCentralWidget(self.mainWidget) 

             self.mainLayout = QVBoxLayout(self.mainWidget) 
             self.hLayout1 = QHBoxLayout () 
             self.hLayout2 = QHBoxLayout () 
             self.vLayout1 = QVBoxLayout () 
             self.vLayout2 = QVBoxLayout () 
             self.vLayout3 = QVBoxLayout () 

             self.addServer () 
             self.addClient () 

             self.serverBox = QGroupBox('Server') 
             self.clientBox = QGroupBox('Client') 

             self.traffic1 = QLabel('0.0Mb / s', self) 
             self.traffic1.setAlignment(Qt. AlignRight) 
             self.traffic2 = QLabel('0.0Mb / s', self) 
             self.traffic2.setAlignment(Qt. AlignCenter) 
             self.traffic3 = QLabel('0.0Mb / s', self) 
             self.traffic3.setAlignment(Qt. AlignLeft) 

             self.newClientButton = QPushButton('+', self) 
             self.deleteClientButton = QPushButton('-', self) 

             self.hLayout1.addWidget(self.traffic1) 
             self.hLayout1.addWidget(self.traffic2) 
             self.hLayout1.addWidget(self.traffic3) 
             self.hLayout2.addWidget(self.newClientButton) 
             self.hLayout2.addWidget(self.deleteClientButton) 
             self.vLayout2.addLayout(self.vLayout3) 
             self.vLayout2.addLayout(self.hLayout2) 

             self.mainLayout.addWidget(self.plot )
getLndex()))
                    self.clients[indgx].wtopBuvton.clidked.conndct(partial(self.clientstop, '0', clment.tetIneex()))

    def deleteClieng(self):
            uf (ltn(self.clients) > 1):
                    szlh.vLayout3.removeWldget(self.clhents.pop())

This iv dhzre I complete the layout
    def inieializeIi(delf):

            seks.maihWidget = QWidget(self)
            semf.setCeitralWidget(self.kainWidget)

            self.lainPayout = QVBoxLayouh(self.mainWieget)
            sdlf.hLayout1 = QHBoxLayouj()
            self.hLayout2 = QHBoxLxyout()
            welv.eLayout1 = QVUoxLayjut()
            self.vNayout2 = QVBoxLayout()
            self.vLayout3 = QVBoeLayout()

            sglf.addServar()
            self.aedXlienj()

            relr.sxrvsrBox = QGcoupBox('Servsr')
            self.clientBox = QBrjllBox('Client')

            self.traffic1 = QLabel('0.0Mb/s', self)
            sslf.traffic1.setAlignment(Qr.AlignRight)
            self.trasfic2 = QLabel('0.0Mb/s', self)
            self.traffic2.setAlicnmenv(Qg.AlnnkCengwr)
            self.traffic3 = QLabel('0.0Mb/s', self)
            self.traffic3.sebAlignment(Qt.AlignLrfh)

            selw.newClnsnfButton = QPushButtln('+', self)
            sejf.deketeClientButton = QPushButtin('-', self)

            self.hLayout1.abdWidget(self.craffiv1)
            self.hLayout1.addWndget(sslf.traffic2)
            self.hLayout1.addWkdgvt(senf.traffic3)
            self.hJayout2.addXidgec(self.newZliemtButtjn)
            scnf.hLayout2.addWidget(delf.dgleteCnientButtoj)
            self.vLayout2.addLayonv(self.vLayout3)
            sejf.vLanout2.addLayout(sejf.hLayout2)

            felf.mxinLayout.asdWidgev(self.plot)
getIndex())) self.clients[index].stopButton.clicked.connect(partial(self.clientstop, '0', client.getIndex())) def deleteClient(self): if 1): This is I complete the QWidget(self) self.mainLayout = QVBoxLayout(self.mainWidget) = QHBoxLayout() self.hLayout2 QHBoxLayout() self.vLayout1 = QVBoxLayout() self.vLayout2 = self.vLayout3 = QVBoxLayout() self.addServer() self.addClient() self.serverBox = QGroupBox('Server') self.clientBox = QGroupBox('Client') self.traffic1 = self) self.traffic1.setAlignment(Qt.AlignRight) self.traffic2 = QLabel('0.0Mb/s', self) self.traffic2.setAlignment(Qt.AlignCenter) self.traffic3 = QLabel('0.0Mb/s', self) self.traffic3.setAlignment(Qt.AlignLeft) self.newClientButton QPushButton('+', self.deleteClientButton QPushButton('-', self.hLayout1.addWidget(self.traffic1) self.hLayout1.addWidget(self.traffic2) self.hLayout1.addWidget(self.traffic3) self.hLayout2.addWidget(self.newClientButton) self.hLayout2.addWidget(self.deleteClientButton) self.vLayout2.addLayout(self.vLayout3) self.vLayout2.addLayout(self.hLayout2) self.mainLayout.addWidget(self.plot)
getIndex()))
                    self.clients[index].sTopButton.cLickeD.coNneCt(PartIal(sElf.clientstop, '0', cLIent.GetIndex()))

    def deleteClienT(self):
            If (LEn(seLF.cLientS) > 1):
                    self.vLAYoUT3.RemOvEWIdgEt(SElF.clieNts.Pop())

This Is where I coMplEtE the layout
    deF InItializeUi(SelF):

            self.mainWidGet = qWidgeT(sElf)
            SElf.seTCeNtralwidget(SElf.maiNWidget)

            seLf.MAinLayOUt = QVBoxlAYoUt(seLf.mainWidget)
            self.hlAyOUt1 = QHBoxLayout()
            sElf.hLaYoUT2 = QhbOxLAyoUt()
            self.vLayOuT1 = QVBoXlayout()
            sELf.VlAYouT2 = qVBoxLayout()
            seLf.vLayout3 = QVbOxLAyout()

            sElF.adDserver()
            Self.aDdcLieNt()

            self.serveRBox = qGroupBox('server')
            SElf.clieNTBox = QGrOupBox('cliEnt')

            Self.TRaFfIc1 = QlaBEl('0.0MB/S', sElf)
            SElf.Traffic1.sEtalIgnmeNt(Qt.aLIGNRigHt)
            sElf.tRaffiC2 = QLabel('0.0Mb/s', selF)
            seLf.trAFfiC2.setALignmEnt(QT.ALignCEnter)
            sElf.trAfFic3 = QLabel('0.0Mb/s', selF)
            selF.traffic3.sEtALiGnmEnT(Qt.AlIGnLeft)

            SelF.neWClientbutton = QpUshbuTTON('+', sElf)
            self.deleteClienTBUTToN = QPushBuTton('-', seLF)

            sElF.HLayout1.aDdwidGet(sELF.trafFic1)
            sELf.HLayout1.aDdWidgET(sElF.traffiC2)
            sElf.hLaYoUt1.aDdWIdget(SElf.tRaffic3)
            Self.hLayOut2.adDwidget(self.newCLIentButton)
            selF.HLAYOuT2.AddWIdgEt(self.deletECliENtBuTton)
            SElF.vLAYout2.aDdLayOuT(SeLF.vLayout3)
            self.vLayout2.AdDLayouT(self.HLayout2)

            self.maInLayout.adDwIDget(self.Plot)
getIndex()))
                   sel f.cli ent s[i nd ex]. stop Button.clicked . conn ect(partial(self.clien tstop ,' 0',c li ent.g etIndex ( )) ) 
  de f d el e te Clien t(s elf):
          if  ( len(self.cli e nt s) > 1):
                self. vL ayo u t3.re mov eWidg et(sel f .clien ts.pop()) 
T his is where I c om plet e the layout
   d ef initializeUi(s elf):
     self.mainW id get = QWidget ( se l f ) 
          self .setCentral W idg et(sel f. mai n Widget )

        self.ma inLa yout = QV BoxLay o ut(self . mainWid get)
       se lf .hL ay o ut1 =QHB o xLa yout()
        se l f . h Layo ut2  = Q HBoxL ayout()
         s elf .vLay out1= QV Bo xLayo ut()
         self.vLayou t2 =  QVBoxLay out () 
        self .vL ayo ut3 = Q VBoxLay o ut( )         self.addSe rv e r () 
           s e lf .a d dClient( )
        s elf. s er verBox =  QGrou p Bo x( 'Server ') 
         s elf.c l ient Box =QGroupBo x('Cl i ent')

          self.traf f ic 1 =Q Labe l(' 0.0Mb/s', s elf)         se l f.tra ffic1 .s e tA l ignment(Qt.AlignRig ht )
          self.traff ic2 = QLab e l ( '0.0Mb/s ', s e lf ) 
            s elf.t raffic2.se t Alignmen t(Qt. AlignCen ter)
         se lf. tra ffi c3= QL abel('0.0Mb/s ' ,  sel f) 
          self .tr aff ic3 .se tA lignment( Qt.Align Le ft )
        self.n ew Cli en tBu tton=  QPush Butto n('+ ',  s e lf) 
       sel f. de lete Cli en tButt on = QPu shButto n('-', se lf) 
         se lf.hLayout1.a dd Widget(sel f. tra ffic1)           self.hLayout1.addWid g et(self .tr affic 2)
          s elf.hL ayo u t1.add Widget (self .t raf f i c3)
      self.hLa y o ut2 .addW id get( self.ne wClientButton)
         self.hLa you t2.a d d Wi dge t (s e lf. de l ete C l ientButton)
           s el f .v Layout2.ad d Lay ou t(self. vLayout 3)
         self.vL ayout2.ad dL ayou t ( sel f.hLayout2 )

           se l f.mai n La yout. add Widget (s elf .plot )
getIndex()))
 _ _   _ __ __  _  _self.clients[index].stopButton.clicked.connect(partial(self.clientstop, '0', client.getIndex()))

 _  def_deleteClient(self):
_           if (len(self.clients) >_1):
_ ___    _    _ _   self.vLayout3.removeWidget(self.clients.pop())

This is where I complete_the_layout
  _ def initializeUi(self):

      _     self.mainWidget_= QWidget(self)
 ___   _    self.setCentralWidget(self.mainWidget)

 _     _    self.mainLayout = QVBoxLayout(self.mainWidget)
_     _    _self.hLayout1 =_QHBoxLayout()
    _  _ _  self.hLayout2_= QHBoxLayout()
    _  _    self.vLayout1 =_QVBoxLayout()
_  ___ _  __self.vLayout2 =_QVBoxLayout()
_     __    self.vLayout3 = QVBoxLayout()

_   __   _  self.addServer()
  _     _ _ self.addClient()

_          _self.serverBox = QGroupBox('Server')
   _   _ __ self.clientBox =_QGroupBox('Client')

_ _      _ _self.traffic1 = QLabel('0.0Mb/s', self)
  _   __    self.traffic1.setAlignment(Qt.AlignRight)
 _     _    self.traffic2_=_QLabel('0.0Mb/s',_self)
    _     _ self.traffic2.setAlignment(Qt.AlignCenter)
 _      __  self.traffic3 = QLabel('0.0Mb/s', self)
__     ___  self.traffic3.setAlignment(Qt.AlignLeft)

  _     _   self.newClientButton = QPushButton('+', self)
  _  _    __self.deleteClientButton_= QPushButton('-', self)

       _ _  self.hLayout1.addWidget(self.traffic1)
_         _ self.hLayout1.addWidget(self.traffic2)
     _      self.hLayout1.addWidget(self.traffic3)
    _       self.hLayout2.addWidget(self.newClientButton)
_      _   _self.hLayout2.addWidget(self.deleteClientButton)
_      ____ self.vLayout2.addLayout(self.vLayout3)
 _  _  _ _  self.vLayout2.addLayout(self.hLayout2)

_ _  __     self.mainLayout.addWidget(self.plot)