def start_pong(self): self.pong = Pong(self.app.ipcon) if self.pong.okay: self.pong.run_game_loop() self.pong = None
class PongWidget(QWidget, Ui_Pong): pong = None thread = None def __init__(self, parent, app): super(QWidget, self).__init__() self.app = app self.setupUi(self) self.button_a.pressed.connect(lambda: self.button_press("a")) self.button_s.pressed.connect(lambda: self.button_press("s")) self.button_k.pressed.connect(lambda: self.button_press("k")) self.button_l.pressed.connect(lambda: self.button_press("l")) self.button_r.pressed.connect(lambda: self.button_press("r")) def start_pong(self): self.pong = Pong(self.app.ipcon) if self.pong.okay: self.pong.run_game_loop() self.pong = None def button_press(self, button): if self.pong: self.pong.kp.key_queue.put(button) def start(self): self.thread = Thread(target=self.start_pong) self.thread.daemon = True self.thread.start() def stop(self): if self.pong: self.pong.loop = False self.pong.kp.key_queue.put("q")