Example #1
0
 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)
Example #2
0
        # 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_())