私はtkinterを使ってゲームを作ろうとしていますので、クラスをフレームにして画面を変更できるようにしました... My class Jogoはゲームです。その中にカウントダウンされた時計。テスト用に作られた時計のコードは、クラスを使わずに動作します。メソッド内の変数が定義されていません
class Jogo(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
self.grid(row=0, column=0, sticky="nsew")
countVar = tk.StringVar()
self.after(1000, self.update_clock)
clock = tk.Label(self, textvariable=countVar)
clock.grid()
def update_clock(self, event = None):
for t in range(120, -1, -1):
mins, secs = divmod(t,60)
timeformat = "{:02d}:{:02d}".format(mins, secs)
countVar.set(timeformat)
clock.update_idletasks()
sleep(1)
そして、私はクラスを使用せずに作られたコード:
しかし、私はゲームのコードに問題がそれを置くしようとしたときにここで私が修正するコードだNameError: name 'countVar' is not defined
に表示されます
import tkinter
from time import sleep
main = tkinter.Tk()
count = tkinter.StringVar()
txt = tkinter.Label(main, textvariable=count)
txt.grid()
def update_txt(event = None):
for t in range(120, -1, -1):
mins, secs = divmod(t, 60)
timeformat = '{:02d}:{:02d}'.format(mins, secs)
count.set(timeformat)
txt.update_idletasks()
sleep(1)
main.after(1000,update_txt)
main.mainloop()
ありがとうございます。私はそれを探します。 –