tkinterでは、PythonのUp
がクリックされたときにプログラムを作成しようとしています。数字に1が追加され(StringVarを使用して表示されます)、数値が10になると再開されます。私はこの部分を完成させることができましたが、一定の時間が経過した後もそれを有効にして番号を変更することはできません。たとえば、ある特定の時間だけUp
ボタンを押し続け、最後に取得した数字は6です。今度は、何度何回押しても、6にとどまります。Up
。ここに私のコードです:スクリプトの実行中の関数を削除しますか? Tkinter Python 3.5
from tkinter import *
root = Tk()
hwd1 = 0
mult = 1
hwd = StringVar()
hwd.set("0")
def add1(event):
global hwd
global hwd1
on = True
if on:
hwd1 += 1*(mult)
hwd.set(str(hwd1));
if hwd1 == 10:
hwd1 = 0
hwd.set("0")
label = Label(root, textvariable=hwd)
label.pack()
root.bind_all('<Up>', add1)
このコードは、私がやっていることの最初の部分を示しているが、私は2番目の部分をしようとすると、ここで私が行って何:このコードを使用してから、
from tkinter import *
root = Tk()
hwd1 = 0
mult = 1
hwd = StringVar()
hwd.set("0")
def deladd():
global add1
del(add1)
def add1(event):
global add1
global hwd
global hwd1
on = True
if on:
hwd1 += 1*(mult)
hwd.set(str(hwd1));
if hwd1 == 10:
hwd1 = 0
hwd.set("0")
root.after(5000, deladd)
label = Label(root, textvariable=hwd)
label.pack()
root.bind_all('<Up>', add1)
、 add1 referenced before assignment
というエラーメッセージが表示され、なぜそれがわからないのですか。私は、あなたの時間のためにとても感謝をいくつかの助けをいただければと思います:)
-Jake
なぜコールバック 'add1'の下で' global add1'を宣言していますか? – nbro
これは間違いであったに違いありません、ごめんなさい:/ – Jake
'add1'という名前の関数を削除しようとしているようです。あれは正しいですか?あるいは、 'add1'は変数であるはずですか? –