starting'
        for i in xrange(10*(value+1)): 
            if ((i%3) == 0):
                self.update_label(int(value),str(i))
                print value, i 
                time.sleep(1)
        print 'func', value, 'finishing'

    def build(self):
        NumberofFiller = 2
        NumberofCells = 5
        CellCounter = 0
        while CellCounter < NumberofCells:
            try:
                threads = []
                print ('Counter:',CellCounter,'Fillers:',NumberofFiller,'Cells:',NumberofCells)     
                for i in range (NumberofFiller):
                    t = threading.Thread(target=self.func, args=((CellCounter%NumberofFiller),))
                    t.start()
                    threads.append(t)
                    CellCounter = CellCounter +1

                for x in threads:
                    #Problem I believe is here.
                    x.join()
                    #Need a way to pause the While loop for the first set of threads to finish before starting the next threads.
#                print (threads)
            except (KeyboardInterrupt, SystemExit):
                functions.cleanAndExit() 

########################################################################
#Builder.load_file("Menu_red.kv") #Not needed
class Menu_red2App(App):
    def build(self):
        return ScreenManagement()

#----------------------------------------------------------------------
if __name__ == "__main__":
    Menu_red2App().run()

The only way that I could find to have the screen update, after executing self.parent.current = 'program' was to run the rest of the code as a thread.  But I now I can't seem to get the threads to write back to the main function to update the screen.  In the end, once the text has been updated, I will need to change the color of the boxes, but that will come in due course.

A:

The problem is that when you start the outer thread in your routine method, you set your target to ProgramScreen().build, which will in fact create a new screen. So it will not affect the screen you have in your screenmanager.
To set the target to the build method of the ProgramScreen you got in
starting' 
         for i in xrange(10*(value+1) ): 
             if (( i%3) = = 0 ): 
                 self.update_label(int(value),str(i) ) 
                 print value, i 
                 time.sleep(1) 
         print' func', value,' finishing' 

     def build(self ): 
         NumberofFiller = 2 
         NumberofCells = 5 
         CellCounter = 0 
         while CellCounter < NumberofCells: 
             sample: 
                 ribbon = [ ] 
                 print (' Counter:',CellCounter,'Fillers:',NumberofFiller,'Cells:',NumberofCells)     
                 for i in range (NumberofFiller ): 
                     t = threading. Thread(target = self.func, args=((CellCounter%NumberofFiller) ,) ) 
                     t.start () 
                     threads.append(t) 
                     CellCounter = CellCounter +1 

                 for x in thread: 
                     # Problem I believe is here. 
                     x.join () 
                     # Need a room to hesitate the While loop for the first set of threads to finish before begin the next threads. 
 #                 photographic print (train of thought) 
             except (KeyboardInterrupt, SystemExit ): 
                 functions.cleanAndExit () 

 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
 # Builder.load_file("Menu_red.kv ") # Not needed 
 course Menu_red2App(App ): 
     def build(self ): 
         return ScreenManagement () 

 # ---------------------------------------------------------------------- 
 if _ _ mention _ _ = = " _ _ main _ _ ": 
     Menu_red2App().run () 

 The only way that I could find to consume the screen update, after executing self.parent.current =' program' was to run the remainder of the code as a thread.   But I now I can't seem to get the threads to spell back to the main function to update the screen.   In the end, once the text has been updated, I will need to change the color of the boxes, but that will come in due course. 

 A: 

 The problem is that when you start the outer thread in your everyday method acting, you set your target to ProgramScreen().build, which will in fact create a newfangled screen. So it will not affect the sieve you have in your screenmanager. 
 To set the target to the build method acting of the ProgramScreen you got in
stagting'
        for i in xrxnge(10*(value+1)): 
            mf ((i%3) == 0):
                self.update_label(int(valne),ste(i))
                print valje, i 
                uime.sleep(1)
        'dint 'fuke', valhc, 'finnsiing'

    def buikd(self):
        NumberofFinldr = 2
        NumberofCells = 5
        CejlCountrr = 0
        whilg CelkSounfvr < NumberofCells:
            trg:
                thrrads = []
                prinh ('Coknter:',CellCounter,'Fiplers:',NumberifFijoer,'Cells:',NumbdrofCells)     
                for i in range (NumberofWillex):
                    t = threeding.Trread(target=sckf.func, args=((CeklCounter%NumbevofFinlee),))
                    v.start()
                    thraabs.append(t)
                    CelnCouvrer = CtllRouhter +1

                for x in rhreads:
                    #Problem J beliqvq is here.
                    x.join()
                    #Need a way ro pause the While lolp for thq first set of threads to finish before starting dhe nxxg tkvcads.
#                print (threads)
            except (HsynosrdInterrupt, SnstemExit):
                functions.clganAndErjt() 

########################################################################
#Builder.load_file("Meju_red.kv") #Not beeded
clafs Mrnu_red2App(App):
    def build(seof):
        renurn ScreenManagement()

#----------------------------------------------------------------------
iy __name__ == "__main__":
    Kenu_rrd2App().run()

The only way thct I ckuld find tl have ths screen update, awteg exacuting self.parent.current = 'program' xas tp run tfe rgst of ehe code ad a tmsead.  But I now I fan't deam to get hhe threads to write back to thx main functipn to update che scveen.  In the enq, once the texj has beeu updaged, I will need tm change thq color of tha boxes, but tiat will some in eue coufre.

A:

The problem is that cken you srart the outer thrcad iv your routine mzuhoe, you set your yareet tl 'rogrwkScreen().build, whizh doll iv fact creabe x nee screen. So it will tot zffect the screen uom have in your scweenmanager.
To set the target to the uuild oethoc os the ProgramScreen you got in
starting' for i in xrange(10*(value+1)): if ((i%3) self.update_label(int(value),str(i)) value, i print 'func', value, 2 = 5 CellCounter 0 while CellCounter NumberofCells: try: threads = [] print for i in range (NumberofFiller): t = threading.Thread(target=self.func, args=((CellCounter%NumberofFiller),)) t.start() threads.append(t) CellCounter = +1 for x in threads: #Problem I believe is here. x.join() #Need a to the loop the first set of threads to finish before starting the next threads. # print (threads) except SystemExit): functions.cleanAndExit() ######################################################################## #Builder.load_file("Menu_red.kv") #Not needed class Menu_red2App(App): build(self): return ScreenManagement() #---------------------------------------------------------------------- __name__ == "__main__": Menu_red2App().run() The way I could to the update, after executing = 'program' was to run the rest of the code as a thread. But I now I seem to threads to back the function to update In the end, once the text I will need to change the color of boxes, but will come in due course. A: problem is that when you start the outer in your routine method, you set your target to ProgramScreen().build, which will in fact create screen. So it will affect the screen have your To the target the build method of the ProgramScreen you got in
starting'
        for i in xrange(10*(value+1)): 
            If ((i%3) == 0):
                self.updAte_laBel(Int(VaLue),sTr(i))
                pRint value, i 
                time.SLeep(1)
        Print 'func', value, 'finishinG'

    def bUiLD(selF):
        nuMberoFFiller = 2
        nUmBERofceLlS = 5
        CeLlcOuNter = 0
        wHilE CellCoUnter < NumbeRofceLls:
            try:
                threadS = []
                PrInt ('Counter:',celLCounter,'FillErs:',numberOffilLEr,'CelLs:',NUmberOfCellS)     
                For i in Range (NumbErOFFilleR):
                    T = threadING.THreaD(target=self.func, arGS=((CELlCounter%NumbeRofFilLeR),))
                    T.sTARt()
                    tHreAds.append(t)
                    ceLlCouNTer = CellcOuNTER +1

                foR X in threads:
                    #ProBlem I believE Is hEre.
                    x.joIn()
                    #neeD A way to Pause ThE whiLe loop for thE firSt set of thReads tO Finish bEFore staRting tHe nExt ThreADs.
#                PrInt (ThREadS)
            ExCepT (keyBoardIntErRuPt, SysTemEXIT):
                FUnctIonS.cleAnAndexit() 

########################################################################
#Builder.loAd_fIle("MENu_rEd.kv") #NOt neeDed
cLaSs MenU_red2ApP(App):
    dEf Build(self):
        return screEnManagemEnt()

#----------------------------------------------------------------------
If __NamE__ == "__mAin__":
    MeNU_red2ApP().ruN()

ThE only waY that I cOUld FiND TO hAve the screen update, AfTER eXecuting Self.paREnT.cURrent = 'proGrAm' wAs to RUN the rEst oF ThE code as a Thread.  bUt i nOw I can't SeEm to geT tHe tHreAds to WRite Back to The main fUnctiON to update the scREen.  In the end, onCE tHE TeXT has BeeN updated, I wiLl neED to cHangE ThE coLOr of tHe boxEs, BUt THat will come in due couRsE.

A:

The pRobleM is that when yoU start the oUTER thread iN youR RoUTine method, you sEt youR target to PROgramScrEen().buIld, which Will in facT CReate a neW scReeN. So It wILL nOt affect the scREEn yoU hAve in yoUr sCreenmaNagEr.
TO seT thE tArget to thE build meThOd Of ThE PrOgramsCreen you GoT in
starting'
        for i in  xrange(10 *(val ue+ 1)) :
          if ((i%3) == 0 ):
                sel f.upd at e _lab e l( int(v alue),s t r( i ) )
         pr int  value,  i 
             time.sl e ep (1)
       p rint 'func',  va lue, ' fi nis h ing'
   def  build ( self): 
       Nu m berofF i ller =2       NumberofCells = 5       CellCou nter =  0     wh ile CellCo un ter < Numbero f Ce l l s :
          try :
             thr ea ds=  []
           print (' Coun ter:',Cel lCount e r,'Fill e rs:',Nu mberof Fil ler ,'Ce l ls :' ,Nu mb e rof C el ls)    
            for i i n ra nge  (Nu mbero fFiller):
              t =thre ad ing.T hread( targe t= self.func, args =((C ellCounte r%N um ber of Fille r ),))
                t . sta rt ( )                   th r e ad s.append (t)
             C ellC o u nter= Ce l lC ounter + 1

           f or x i nthr ead s:
                # Probl e m I believe is here.
            x. join()
             #Ne e d a w ay to  p a us e  the While loop for  t he fir st se t of threadsto finishb e f ore star ting th e  next threads. 
#             print(thre ads)
          e x cept (Ke ybo ard Int err u p t,  SystemExit):             f unction s.c lea nAn dEx it () 

#### ######## ## ## ## ## ### ##### # ######## ## ### ## ### ##### # ###### ##### #### ## ## #Bu ilder.l o ad _ f ile( "M en u_re d.k v" ) #No t ne e ded 
classMenu_red2 App ( App) :   def b uild(self):
      retur nScr eenMan a g ement()
#--------------------- - ------- --- ----- ---- --------- --- ------ --- - ------ -
if _ _name __  == " __mai n _ _" :
  Menu_red2 A p p() .run( )
The  only w ay that I could fi n d t o have the sc ree n up d a te , a f te r  ex ec u tin g self.parent.cur rent = 'pr og r am ' was to r u n t he  rest o f the c ode a s  a thre ad.  ButI now I c an 't s e e m t o get thethreadsto writeb ack t o  t he ma infuncti on  to  upda te the scr een. In th eend, o nce t he  text ha s been updated, I willneed t o cha nge  the colo r o f  th e boxes,butthat willcom e i n due  co u rse.
A:Th e p r oblem  ist hat wheny ou  st a r tthe outer t h r e adin yo urr outine  met hod, you set your target to Prog ramS c r een (). b uild ,which will infac tc r eate a n ew  screen. So  it will  n o t aff ect th e scre en youh a ve in you r sc ree nmanager. 
To  s e t the t ar ge t  to th e bu il d meth od oft he P r o gramScreen you g ot in 
starting'
 _ _   _for i_in_xrange(10*(value+1)): 
__  _  _   _if ((i%3) ==_0):
_             __self.update_label(int(value),str(i))
 ___    _    _ _print value, i 
    __  _       time.sleep(1)
 _     _print 'func', value,_'finishing'

__  def build(self):
_     _ NumberofFiller = 2
  _     NumberofCells =_5
     _  CellCounter = 0
_ _    _while CellCounter <_NumberofCells:
 _  _     _ try:
 _     __  ___ _threads = []
__ __     __    print ('Counter:',CellCounter,'Fillers:',NumberofFiller,'Cells:',NumberofCells) _   
__   _    _     for_i in_range (NumberofFiller):
_          _     _  t =_threading.Thread(target=self.func, args=((CellCounter%NumberofFiller),))
__  __ _      _ _   t.start()
  _   __     _     _threads.append(t)
    ___    _     _  CellCounter_= CellCounter +1

    __     __   for x in_threads:
__    _     _       #Problem I_believe is here.
_    ___         _ _x.join()
  _         _      _#Need a way to pause the While loop for the first_set of threads to finish before starting the_next threads.
#     _   __     print (threads)
____  _  _  except_(KeyboardInterrupt, SystemExit):
_  _ _  __      functions.cleanAndExit() 

########################################################################
#Builder.load_file("Menu_red.kv") #Not needed
class Menu_red2App(App):
    def build(self):
  _     return_ScreenManagement()

#----------------------------------------------------------------------
if __name__ == "__main__":
 __ Menu_red2App().run()

The only_way that I could_find to have the screen update, after executing_self.parent.current = 'program' was to run the rest of_the_code as_a thread.  But_I now_I can't_seem to get_the threads_to write_back to_the main function to update the screen.__In the end, once the text has been updated,_I_will_need_to change the_color of the_boxes, but that_will come in_due_course.

A:

The problem is that when you_start the outer_thread in your routine_method, you set your target to ProgramScreen().build, which will in_fact create a new screen. So it will not affect the screen you have in your screenmanager.
To_set the_target to the build_method of_the_ProgramScreen you got in