EEL项目中,如果想在python端调用某些 js_function进行调试,在eel前端界面启动后就没有那么灵活了,如果有一个tkinter界面,可以随时任意调用js_function,调试就方便很多了。
经实践,通过多线程方式,增加一个tkinter界面就可以了。
在原main.py代码中加入一个tikinter界面代码即可:
import eel
eel.init('web')
'''。。。。。。。原eel项目代码。。。。。。'''
# ======begin tkinter =======
def on_button_click():
"""调用js_function"""
random_number = random.randint(0, 100)
eel.say_hello_js(f"python {random_number}")
def create_tkinter_window():
"""创建一个简单的tkinter界面"""
root = tk.Tk()
root.title("Tkinter with Eel")
Button(root, text="发送随机数字给JS", command=on_button_click).pack(pady=20)
root.mainloop()
def run_tkinter(): # 创建一个线程运行tkinter界面
threading.Thread(target=create_tkinter_window, daemon=True).start()
if __name__ == "__main__":
import tkinter as tk
from tkinter import Button
import random
import threading
run_tkinter() # 运行tkinter界面
# ======= tkinter end =============
eel.start