繁体   English   中英

如何使用鳗鱼 python 启动另一个 window?

[英]How to start another window using eel python?

我正在使用 python 中的 eel 库创建一个 GUI 应用程序。 index.html包含登录表单,如果登录成功,我想打开retrieve.html

这是我的 python 代码,请认为登录成功。

@eel.expose
def retrieve():
    eel.start('retrieve.html', size=(1000, 700))


eel.start('index.html', size=(1000, 700))

这是我的 javascript 代码

function login_func()
{
    var username = document.getElementById("username").value
    var pword = document.getElementById("pword").value
    eel.login(username, pword)(set_result)
}

function set_result(result)
{
    if(result == "Failed")
    {
        window.alert("Please insert correct username and password")
    }
    else
    {
        window.close()
        eel.retrieve()
    }
}

一切正常,但我收到一条错误消息,那就是

OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted: ('localhost', 8000)

我怎样才能避免这种情况?

第二个 window 使用不同的端口号,如下所述:

@eel.expose def retrieve(): eel.start('retrieve.html', size=(1000, 700), **port = 8080**)

eel.start('index.html', size=(1000, 700), port = 8000 )

或者,检查这个https://deecode.net/?p=438&lang=en

确保每个 window 的端口都不同

你不应该再次调用eel.start ......这将设置一个新的本地服务器、websocket 等。在这种情况下,你可以调用eel.show它将重新使用你现有的 web 实例来显示新的 window 和页面.

因此,将您的代码更改为:

@eel.expose
def retrieve():
    eel.show('retrieve.html', size=(1000, 700))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM