title: How to update a GUI window in Python?
body: <p>My goal is to have a window with the latest quote of a stock updating during the day. I chose <code>alpha_vantage</code> as a quote source, <code>pysimplegui</code> to create the window and twisted to run a loop to update the window every minute. The code works as written, prints the correct quote and change, creates the window as desired, but the window does not update.</p>
  
  <p>Why doesn't the window update?</p>
  
  <pre><code>from alpha_vantage.timeseries import TimeSeries
  from twisted.internet import task, reactor
  import PySimpleGUI as sg
  
  def paintQuote():
      quote, quote_meta = av.get_intraday(symbol='spy', interval = '1min')
      last = quote.iloc[-1][3]
      print('{0:6.2f}'.format(last))
      change = (last / yesterday - 1) * 100
      print('{0:4.2f}%'.format(change))
      event, values = window.read()
      window['quote'].update(last)
  
  # window color
  sg.theme('BluePurple')
  # window layout
  layout = [[sg.Text('last price', size=(20, 2), justification='center')],
              [sg.Text(''), sg.Text(size=(24,1), key='quote')]]
  # create window
  window = sg.Window('MikeQuote', layout)
  wait = 60.0
  av = TimeSeries(key ='your_key', output_format = 'pandas')
  yest, yest_meta = av.get_daily(symbol='spy')
  yesterday = yest.iloc[-2][3]
  loop = task.LoopingCall(paintQuote)
  loop.start(wait)
  reactor.run()
  window.close()
  </code></pre>