Code Monkey home page Code Monkey logo

Comments (5)

harvimt avatar harvimt commented on September 25, 2024

the standard way is to use asyncio.get_event_loop(), but you could also set a variable on application or whatever.

from quamash.

harvimt avatar harvimt commented on September 25, 2024

Python doesn't have real "global" variables, the most it has is module global variables, so if you want to access main.loop from the mainwindow module, do from .main import loop in mainwindow.py.

The global and nonlocal keywords are for writing to globals and nonlocals in python not reading from them (though they can help with readability when accessing a variable from a nested scope).

Also this is a python question not really relevant to quamash more appropriate to stackoverflow (not that I mind).

You may wish to review the python scoping rules and packages and modules

from quamash.

cosven avatar cosven commented on September 25, 2024

Thanks a lot.

I think the asyncio.get_event_loop() function may help me solving the problem.

from quamash.

cosven avatar cosven commented on September 25, 2024

Annotatiion:

asyncio.get_event_loop() can give us the event_loop object, however, it only works in main-thread since the event loop must be run in the main thread.

As a result, if you want to get event_loop object in other thread, maybe you need to set a variable on application.

To schedule a callback from a different thread, the AbstractEventLoop.call_soon_threadsafe() method should be used.
Example: loop.call_soon_threadsafe(callback, *args)
You can not use asyncio.get_event_loop to get loop object here.

from quamash.

harvimt avatar harvimt commented on September 25, 2024

Correct, there's a feature card somewhere to make a QEventLoop policy for better threading support.

I don't have much motivation to work on quamash these days though, so it's pretty unlikely to get done.

from quamash.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.