We're using PyQt to build a gui system for a third party program. Right now we're generating 1 app and 1 thread that the windows share via thread semaphore which ensure that none of the process step on the others.