2010-06-12 3 views
1

Это класс, который я создал с помощью Python с pyglet для отображения окна.Python «draw() должен быть вызван с экземпляром Label в качестве первого аргумента (вместо этого был получен экземпляр _WindowMetaclass)»

class Window(pyglet.window.Window): 
    def __init__(self): 
     super(Window, self).__init__() 

     pyglet.text.Label("Prototype") 

     windowText = text.Label.draw(Window, "Hello World", 
          font_name = "Times New Roman", 
          font_size = 36, 
          color = (193, 205, 193, 255)) 

    def on_draw(self): 
     self.clear() 
     self.label.draw() 

Каждый раз, когда я пытаюсь запустить его, я получаю ошибку «TypeError: несвязанный метод Draw() должен быть вызван с экземпляром Лейбл в качестве первого аргумента (получил экземпляр _WindowMetaclass вместо этого)». Я уверен, что знаю, что мне нужно делать (найти, как получить экземпляр Label), а не как это сделать. Может ли кто-нибудь помочь мне понять, как сделать эту работу?

ответ

2

Если бы я должен был догадаться, я бы сказал, что вы должны связать экземпляр, который вы создали 2 строки выше, и использовать это вместо этого.

mylabel = pyglet.text.Label("Prototype") 

    windowText = mylabel.draw(... 
+0

Спасибо, что неподвижную его. Теперь у меня другая ошибка. – Amorack

0

вы даете класс «Окно» вместо экземпляра в качестве аргумента, попробуйте «Я»

Смежные вопросы

 Смежные вопросы