Я хотел бы динамически изменить мой графический интерфейс с помощью командыvaluJavaScript
Я заметил, что графический интерфейс обновляется только после завершения работы python. Я создал этот пример кода:
Базовый GUI:
webView = QWebView()
myObj = ExampleClass(webView)
webView.page().mainFrame().addToJavaScriptWindowObject("pyObj", myObj)
webView.setHtml('''
<html>
<body>
<div id="content"></div>
<button onClick="pyObj.example()">start</button>
</body>
</html>
''')
Python-код для обновления Html GUI:
class ExampleClass(QtCore.QObject):
def __init__(self, webView):
super(ExampleClass, self).__init__(webView)
self.webView = webView
@QtCore.pyqtSlot()
def example(self):
print("start")
for i in range(0,5):
print(i)
self.webView.page().mainFrame().evaluateJavaScript('document.getElementById("content").innerHTML = "'+str(i)+'";')
time.sleep(1)
#simulation of a heavy code
for a in range(0,999):
for b in range(0,9999):
c = a * b;
Цель: после нажатия кнопки «Пуск» Iхотел бы видеть цифры 0 1 2 3 4 последовательно появляются в моем графическом интерфейсе. Текущий результат: после нажатия кнопки «Пуск» в течение N секунд ничего не происходит, а затем появляется число 4