def new_consolle(self): self.a = [] console = PythonConsole() console.push_local_ns('getData', self.getData) console.push_local_ns('getCurrent', self.getCurrent) console.show() console.eval_executor(gevent.spawn)
# to trigger a microthread anytime self._idle_period = idle_period # IDLE timer: on_idle is called whenever no Qt events left for # processing self._timer = QTimer() self._timer.timeout.connect(self.process_events) self._timer.start(0) def __enter__(self): pass def __exit__(self, *exc_info): self._timer.stop() def process_events(self): # Cooperative yield, allow gevent to monitor file handles via libevent gevent.sleep(self._idle_period) if __name__ == '__main__': app = QApplication([]) console = PythonConsole() console.push_local_ns('greet', greet) console.show() console.eval_executor(gevent.spawn) with GEventProcessing(): sys.exit(app.exec_())