Я создаю настольное приложение с пакетом python и pywebview. Всякий раз, когда я пытаюсь показать некоторые графики, оно работает только для 1 или 2 запусков, а затем приложение вылетает.
Я пытался использовать разные бэкэнды для matplotlib, но безуспешно. Это код:
import numpy as np
import matplotlib.pyplot as plt
import webview
class Api:
def plot(self,y):
x=np.linspace(1,100,100)
z=np.cos(x)
plt.figure(1)
plt.plot(x)
plt.figure(2)
plt.plot(x,z)
plt.show()
api = Api()
webview.create_window('API example', width=1200, height=600, resizable=False, js_api=api,url="file:///C:/Users/aly_h/Downloads/FullWidthTabs/index.html")`
<html>
<button class="myButton" onClick="greet()">Run</button><br/>
<script>
function greet() {
var y = 6
pywebview.api.plot(y)
}
</script>
</html>
ошибка, которую я получил,
RuntimeError: main thread is not in main loop
Exception ignored in: <function Image.__del__ at 0x000001F4EA12F8C8>
Traceback (most recent call last):
File "C:\Users\aly_h\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 3507, in __del__
self.tk.call('image', 'delete', self.name)
RuntimeError: main thread is not in main loop
Tcl_AsyncDelete: async handler deleted by the wrong thread