Я новичок в пакете графического интерфейса пользователя kivy и хотел научиться создавать игры, следуя «Руководству по игре в понг» на официальном сайте. Я ввел основной код, чтобы открыть окно графического интерфейса, которое работало просто отлично. Однако когда я закрываю это окно и снова запускаю тот же код, я получаю ArgumentError. Я использую последнюю версию Spyder в качестве IDE и обновил все пакеты.
Единственное, что может обойти эту проблему, это перезапустить Spyder. Я что-то не так делаю в исполнении?
Код должен открывать новое окно каждый раз, когда он выполняется. Однако после первого запуска я получаю вывод этой консоли, который заканчивается ArgumentError.
Код:
from kivy.app import App
from kivy.uix.widget import Widget
class PongGame(Widget):
pass
class PongApp(App):
def build(self):
return PongGame()
if __name__ == '__main__':
PongApp().run()
Консольный вывод
[INFO ] [Base ] Start application main loop
[ERROR ] [Base ] No event listeners have been created
[ERROR ] [Base ] Application will leave
[INFO ] [Base ] Leaving application in progress...
[INFO ] [Base ] Leaving application in progress...
Traceback (most recent call last):
File "<ipython-input-2-30ebdb31c7db>", line 17, in <module>
PongApp().run()
File "C:\Users\almig\Anaconda3\lib\site-packages\kivy\app.py", line 855, in run
runTouchApp()
File "C:\Users\almig\Anaconda3\lib\site-packages\kivy\base.py", line 506, in runTouchApp
stopTouchApp()
File "C:\Users\almig\Anaconda3\lib\site-packages\kivy\base.py", line 521, in stopTouchApp
EventLoop.close()
File "C:\Users\almig\Anaconda3\lib\site-packages\kivy\base.py", line 172, in close
self.stop()
File "C:\Users\almig\Anaconda3\lib\site-packages\kivy\base.py", line 184, in stop
provider.stop()
File "C:\Users\almig\Anaconda3\lib\site-packages\kivy\input\providers\wm_pen.py", line 111, in stop
SetWindowLong_WndProc_wrapper(self.hwnd, self.old_windProc)
File "C:\Users\almig\Anaconda3\lib\site-packages\kivy\input\providers\wm_common.py", line 122, in _closure
oldAddr = func(hWnd, GWL_WNDPROC, cast(wndProc, c_void_p).value)
ArgumentError: argument 3: <class 'TypeError'>: wrong type