Я создаю приложение Python3
с использованием PyGOBject для его привязок Gtk3
и Gstreamer
. Один из моих классов должны иметь свойство, которое относится к экземпляру того же типа (или подкласса) классаPyGOBject ссылается на экземпляр того же класса
from gi.repository import GObject
class Cue(GObject.GObject):
# ...
autofollow_target = GObject.Property(type=Cue, default=None)
# ...
def __init__(self):
GObject.GObject.__init__(self)
Однако питон анализатор возвращает следующее сообщение об ошибке для этого конкретного Snippit кода:
NameError: name 'Cue' is not defined
Я предполагаю, что это имеет какое-то отношение к тому, как python создает свои классы, потому что мне удалось создать свойство другого пользовательского типа.
Имя класса неизвестно до того, как класс полностью определен. вы можете создать autofollow_target в методе __init__ после супервызов – laltin