def start_tetris(self): self.tetris = Tetris(self.app.ipcon) if self.tetris.okay: self.tetris.run_game_loop() self.tetris = None
class TetrisWidget(QWidget, Ui_Tetris): tetris = None thread = None def __init__(self, parent, app): super().__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_d.pressed.connect(lambda: self.button_press('d')) 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_tetris(self): self.tetris = Tetris(self.app.ipcon) if self.tetris.okay: self.tetris.run_game_loop() self.tetris = None def button_press(self, button): if self.tetris: self.tetris.kp.key_queue.put(button) def start(self): self.thread = Thread(target=self.start_tetris) self.thread.daemon = True self.thread.start() def stop(self): if self.tetris: self.tetris.loop = False self.tetris.kp.key_queue.put('q')