def run_main(cls, main: Callable, *main_args, **main_kwargs): try: main(*main_args, **main_kwargs) if cls.config_type( ).event_loop_type == AsyncEventLoopType.GLIB_ONLY: Gtk.main() elif cls.config_type().event_loop_type == AsyncEventLoopType.GBULB: gbulb.install(gtk=True) gbulb.get_event_loop().set_exception_handler( async_handle_exeception) from skytemple.core.events.manager import EventManager GLib.idle_add(EventManager.instance().async_init) asyncio.get_event_loop().run_forever() else: raise RuntimeError("Invalid async configuration") except OSError as ex: if hasattr(ex, 'winerror') and ex.winerror == 6: # type: ignore # [WinError 6] The handle is invalid # Originates in gi/_ossighelper.py - Some issues with socket cleanup. We will ignore that. pass else: raise except (SystemExit, KeyboardInterrupt): pass finally: # TODO: Currently always required for Debugger compatibility # (since that ALWAYS uses this async implementation) AsyncTaskRunner.end()
def main_async(): gbulb.install(gtk=True) loop = gbulb.get_event_loop() q = asyncio.Queue() console = async_console_window(loop, q) asyncio. async (stuff(q)) loop.run_forever()
def main_async(): q = asyncio.Queue() gbulb.install(gtk=True) loop = gbulb.get_event_loop() console = async_console_window(loop, q) # asyncio.async(gui_loop(console asyncio.ensure_future(input_handler(console)) loop.run_forever()
def main(): gbulb.install(gtk=True) loop = gbulb.get_event_loop() display = Gtk.Entry() vbox = Gtk.VBox() vbox.pack_start(display, True, True, 0) win = Gtk.Window(title='Counter window') win.connect('delete-event', lambda *args: loop.stop()) win.add(vbox) win.show_all() asyncio. async (counter(display)) loop.run_forever()
def main(): gbulb.install(gtk=True) loop = gbulb.get_event_loop() display = Gtk.Entry() vbox = Gtk.VBox() vbox.pack_start(display, True, True, 0) win = Gtk.Window(title='Counter window') win.connect('delete-event', lambda *args: loop.stop()) win.add(vbox) win.show_all() asyncio.async(counter(display)) loop.run_forever()
import cv2 import numpy as np import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk, Gdk, GLib, GdkPixbuf from ui import LineSelectionList import asyncio,gbulb gbulb.install(gtk=True) loop=gbulb.get_event_loop() builder = Gtk.Builder() builder.add_from_file("test.glade") from linetools import LineStorage lineStorage = LineStorage() class Handler: def onDeleteWindow(self, *args): Gtk.main_quit(*args) tracking.stop() def onPixelClicked (self,box, event): print("clicked!!!!!!!!!!!!!!!!!!!!!!!!!!!!") point = np.array([event.x, event.y],dtype=np.int32) id = lineStorage.clickMatch(point) print(id) if not id is None: lineSelectionList.add(id)
def test_get_event_loop(): import asyncio import gbulb assert asyncio.get_event_loop() is gbulb.get_event_loop()