Я пытаюсь следовать руководству для kivy на PongBall
, но VScode выдает ошибку в строке
from kivy.properties import NumericProperty, ReferenceListProperty
с сообщением:
[pylint] E0611: нет имени 'NumericProperty' в модуле 'kivy.properties'
[pylint] E0611: нет имени 'ReferenceListProperty' в модуле 'kivy.properties'
Этот модуль, по-моему, является модулем Cython, и когда я открываю файл properties.pxd
, я могу найти следующий код:
...
cdef class NumericProperty(Property):
cdef float parse_str(self, EventDispatcher obj, value)
cdef float parse_list(self, EventDispatcher obj, value, ext)
...
cdef class ReferenceListProperty(Property):
cdef list properties
cpdef trigger_change(self, EventDispatcher obj, value)
cpdef setitem(self, EventDispatcher obj, key, value)
...
Приложение: это весь код на данный момент:
import kivy
kivy.require('1.10.0')
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import NumericProperty, ReferenceListProperty
from kivy.vector import Vector
class PongGame(Widget):
pass
class PongBall(Widget):
# velocity of the ball on x and y axis
velocity_x = NumericProperty(0)
velocity_y = NumericProperty(0)
velocity = ReferenceListProperty(velocity_x, velocity_y)
def move(self):
self.pos = Vector(*self.velocity) + self.pos
class PongApp(App):
def build(self):
return PongGame()
if __name__ == '__main__':
PongApp().run()
Вопрос: почему он не хочет импортировать и что я могу сделать, чтобы это исправить?