title: pyQt and threading application crash
body: <p>I wrote simple program which has pyQt interface with 2 buttons (start and cancel). Start button runs some calculations in the background (by starting update function) and thanks to threading I can still use UI.
  But the application crashes after 10sec - 2 minutes. UI just dissapears, program shutdown.</p>
  
  <p>when I use pythonw to run app without console thread crashes after ~25 sec but gui still works.</p>
  
  <pre><code>#!/usr/bin/python
  import threading
  import sys
  from PyQt4 import QtGui, QtCore
  import time
  import os
  
  
  class Class(QtGui.QWidget):
  
      def __init__(self):
          #Some init variables
          self.initUI()
  
      def initUI(self):
          #some UI
          self.show()
  
      def update(self,stop_event):
              while True and not stop_event.isSet():
                  self.updateSpeed()
                  self.updateDistance()
                  self.printLogs()
                  self.saveCSV()
                  self.guiUpdate()
                  time.sleep(1)
  
      #gui button function
      def initiate(self):
          self.stop_event = threading.Event()
          self.c_thread = threading.Thread(target = self.update, args=(self.stop_event,))
          self.c_thread.start()
  
      #Also gui button function
      def cancelTracking(self):
          self.stop_event.set()
          self.close()
  
  def main():
  
      app = QtGui.QApplication(sys.argv)
      ex = Class()
      sys.exit(app.exec_())
      ex.update()
  
  if __name__ == '__main__':
      main()
  </code></pre>
  
  <p>I dont know if I'm doing threading right. I found example like this on stack. I'm quite new to python and I'm using threading for the first time.</p>