I want to use a pyGame program as a part of another process. Using the following code, pyGame doesn't seem to be processing events; it doesn't respond to the 'q' key nor does it draw the titlebar for the window. If go()
is not run as a thread, it works fine. This is under OSX; I'm unsure if that's the problem or not.
import pygame, threading, random
def go():
pygame.init()
surf = pygame.display.set_mode((640,480))
pygame.fastevent.init()
while True:
e = pygame.fastevent.poll()
if e.type == pygame.KEYDOWN and e.unicode == 'q':
return
surf.set_at((random.randint(0,640), random.randint(0,480)), (255,255,255))
pygame.display.flip()
t = threading.Thread(target=go)
t.start()
t.join()