Python EEL: изменение метки кнопки во время выполнения скрипта
У меня есть скрипт, который компилирует кучу файлов из разных каталогов в один лист xlsx. Я создаю внешний интерфейс для этого, чтобы я мог поделиться им со своими коллегами, и, хотя у меня есть операторы печати по всему моему коду, я хочу получить некоторую обратную связь по моему GUI.
Мне нужна кнопка для изменения метки во время выполнения кода, вот что я попробовал:
function getstarted(){
document.getElementById("buttonstart").value="Running...";
eel.myfunc();
document.getElementById("buttonstart").value="Done!";
}
Это, конечно, не работает, так как javascript не ждет, пока моя функция eel завершит обработку, чтобы снова изменить значение. Есть идеи? заранее спасибо
1 ответ
Если вы сделаете функцию асинхронной, вы можете попросить дождаться ответа от Eel.
async function getstarted(){
document.getElementById("buttonstart").value="Running...";
await eel.myfunc()();
document.getElementById("buttonstart").value="Done!";
}
Если вы не хотите использовать асинхронный метод, другой вариант - поместить код, который запускается после, в другой метод, который Eel вызывает, когда это будет сделано.
function getstarted() {
document.getElementById("buttonstart").value="Running...";
eel.myfunc()(getstarted2);
}
function getstarted2() {
document.getElementById("buttonstart").value="Done!";
}