diff --git a/src/core.py b/src/core.py --- a/src/core.py +++ b/src/core.py @@ -1,4 +1,6 @@ +import os import multiprocessing +import threading import logging as log import PIL from util import MsgQueue @@ -18,7 +20,8 @@ class Core: self._ownMessages=MsgQueue(self._handleEvent) self._guiMessages=MsgQueue() - self._frame=PIL.Image.open("../images/7.jpg") + imgPath=os.path.join(os.path.dirname(__file__), "..","images","7.jpg") + self._frame=PIL.Image.open(imgPath) self._guiProc=multiprocessing.Process(name="gui", target=gui, args=(self._guiMessages,self._ownMessages)) self._guiProc.start() @@ -36,7 +39,12 @@ class Core: self._guiMessages.send("setGameState",(self.detector.board,)) def listen(self): - self._ownMessages.listen() + listenerThread=threading.Thread(target=lambda: self._ownMessages.listen()) + listenerThread.start() + + def joinGui(self): + self._guiProc.join() + self._ownMessages.send("kill") def _handleEvent(self,e): actions={"setCorners":self.setCorners, "setTresholds":self.setTresholds} @@ -46,6 +54,7 @@ class Core: core=Core() core.listen() +core.joinGui() """ core