OK, I've implemented the 2sec threaded update, but I'm having some problems with it.
Basically the thread will have to just run constantly, never exiting (just sleeping for 2secs), which seems to work OK except when I try to get the thread to do anything with the main program's window. As the thread doesn't end, it doesn't return a result, so on every pass of the thread's while loop, I write the current track info to the mainWindow directly, however this causes the program to hang. Here is a snippet of the current method: class ThreadedInfo(Thread): """overloads init and defines run""" def __init__(self): Thread.__init__(self) def run(self): # runs the whole time while 1: self.info() time.sleep(2) def info(self): """referencing window kills linux here""" # get track info, returned as dictionary self.info_dict = backend.getInfo(config.server, config.port) I was thinking of getting the thread to just run once, then getting the main program to write the result (using join() ) to the mainWindow. That method would be something like this, but it's almost totally pointless using a thread then, as the while loop will singletask the program: while 1: # start thread self.infothread.start() # when thread ends, get result self.result = self.infothread.join() # write result to window window.mainTextarea.setText(self.result) # pause for 2secs before starting again sleep(2) I made sure that I built PyQt using threads, so that's not the issue. Any other ideas? -- http://mail.python.org/mailman/listinfo/python-list