title: Python Kivy: Label text will not be diesplayed: synchrounous or asynchronous processing?
body: <p>With this code:</p>
  <pre><code>statusLbl = Label(text=&quot;&quot;)
  
  
  def btn_callback(instance):
      statusLbl.text = &quot;you never see this message: Start to work&quot;
      print(&quot;but you would see ths in the console: Start to work&quot;)
      thisTakesSomeTime(instance)
      statusLbl.text = &quot;finished work (you will see this)&quot; 
      print(&quot;and you will see this: finished&quot;)      
      
  class myAPP(App):
    def build(self):
      layout = BoxLayout(orientation='vertical')
      btn = Button(text=&quot;start this long process as often as you want to!!&quot;) 
      layout.add_widget(btn)
      layout.add_widget(statusLbl)
      return layout
      
  
  myApp = myAPP()
  myApp.run()    
  </code></pre>
  <p>there are some problems:</p>
  <p>(1) the statusLabel will not be refreshed before calling &quot;thisTakesSomeTime(instance)&quot;
  (2) it seems to be possible to call the callback many times, each time before the
  execution of thisTakesSomeTime is finished. This is not a problem as such,
  but in combination with (1) without refreshing I would have to stop
  any call to thisTakesSomeTime(..) until each call is finished, because
  the user would tend to think, he did not push the button and try
  again (and again). Multiple executions would be o.k. if the user
  intends to do so (which he only can decide, if he knows, that the execution
  already begun).</p>
  <p>So the most simple question is: is there a way to force a refresh/redraw
  of statusLbl before calling thisTakesSomeTime?</p>
  <p>Otherwise: could any multithreading attempt help? (I don't have much experience with this
  in python and no experience with this in kivy and on android).
  So (if there is no simple answer to the redraw problem): what would be the proper
  way to come to structured processing?</p>
  <p>Thank you!</p>