如何使用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)

如何避免这种情况

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

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

eel.start('index.html',size=(1000700(,端口=8000(

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

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

因此,将您的代码更改为类似以下内容:

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

确保每个窗口的端口不同

相关内容

  • 没有找到相关文章

最新更新