python-eel / Eel

A little Python library for making simple Electron-like HTML/JS GUI apps
MIT License
6.44k stars 587 forks source link

Can't use JS function in Python #499

Open ke511081177 opened 3 years ago

ke511081177 commented 3 years ago

I use eel in my own project and try to call JS function in python but not work.

so I try to use the example1 hello world , and It looks like still not call back to js but show no error. DO I missing to install or do something? I just import eel and start it .

import eel

eel.init('web')                     # Give folder containing web files

@eel.expose                         # Expose this function to Javascript
def say_hello_py():

    eel.say_hello_js('World!')

say_hello_py()
   # Call a Javascript function

eel.start('main.html')             # Start (this blocks and enters loop)
...
<html>
       <head>
        <title>Hello, World!</title>

        <!-- Include eel.js - note this file doesn't exist in the 'web' directory -->
        <script type="text/javascript" src="/eel.js"></script>
        <script type="text/javascript">

        eel.expose(say_hello_js);               // Expose this function to Python
        function say_hello_js(x) {
            console.log("Hello from " + x);
        }

        say_hello_js("Javascript World!");
        eel.say_hello_py();  // Call a Python function

        </script>
    </head>

    <body>
        Hello, World!
    </body>
</html>

Desktop (please complete the following information):

ofoxsmith commented 3 years ago

when you call a JS function from python you need to call _eel.say_hellopy() not _say_hellopy()