Я пытаюсь построить игру, в которой вы можете играть в пятерку подряд, и когда кто-то выигрывает, я хочу, чтобы метка изменилась, как «Игра идет» на «Игрок 1 выиграл», и вот где я застрял ,Изменить ярлык в tkinter внутри класса? STRINGVAR()?
То, как я построил все это так. У меня есть один класс для графики (Frame), и у меня есть один класс для всех кнопок, которые вы можете щелкнуть, чтобы установить его в «X» или «O». И тогда у меня есть последний класс, который проверяет, имеет ли сетка пять значений в строке, и каждый из них запускается после каждого успешного клика.
Ярлык, конечно, установить в классе кадров и первый у меня было так просто, чтобы убедиться, что я мог видеть что-то
def __init__(self, master = None, rows = 10, cols = 10):
Frame.__init__(self, master)
Some other selfs....
self.inforad = Label(master, text = "Game is going on")
и это печатает красиво, так же, как я хочу. Теперь я пытаюсь часами делать это, когда кто-то побеждает, и я просто не могу заставить его работать! Последнее, что я пытался это использовать STRINGVAR(), и я сделал это, как этот
self.info = StringVar()
self.info.set("Game is going on")
self.inforad = Label(master, text = self.info)
и для стартера это не работает на всех, он печатает PY_VAR0. Мой план состоял в том, чтобы определить способ вызова этого во время игры, например:
def disp(self, string):
self.info.set(string)
return self.info
И это не работает вообще. Может кто-то помочь мне с этим? Я действительно новичок в программировании, сделал свой первый код примерно 3 недели назад.
"(Если self.inforad помещается в экземпляр подкласса Frame, сам его хозяин должен быть сам, а не хозяином себя.)« Можете ли вы это объяснить? – Claessie
Теперь его работа, мне пришлось изменить текст в текстовую переменную! :) Мастер-штучка кажется прав, если я изменю его на себя, он создаст целую новую вкладку и все испортит, может быть, что-то в остальной части кода, о которой вы не знаете :) В любом случае. СПАСИБО! :) – Claessie