Python "draw () должен быть вызван с экземпляром Label в качестве первого аргумента (вместо этого получил экземпляр _WindowMetaclass)" - PullRequest
1 голос
/ 13 июня 2010

Это класс, который я создал, используя Python с pyglet для отображения окна.

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 () должен вызываться с экземпляром Label в качестве первого аргумента (вместо этого получается экземпляр _WindowMetaclass)». Я почти уверен, что знаю, что мне нужно сделать (найти способ получить экземпляр Лейбла), но не знаю, как это сделать. Может ли кто-нибудь помочь мне понять, как заставить это работать?

Ответы [ 2 ]

2 голосов
/ 13 июня 2010

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

0 голосов
/ 10 июля 2010

вы даете класс "Window" вместо экземпляра в качестве аргумента, попробуйте "self"

...