私はappJarでカウントダウンタイマーを作成しようとしており、割り当てられた時間が終了するまでの残り時間を示すラベルを付けています。 appJarのウェブサイトのガイドをかなり見て、ライブラリでループを作成できると言う2つの方法について知っています。 .registerevent(function)
または.after(delay_ms, function, *args)
を使用できます。私はこれらの方法の両方を試していますし、どちらかを動かすことができません。私は.after
関数を動作させる方法を理解することができず、.registerevent
関数を使用しようとするたびに何かが動作しません。私の現在の問題は、の機能をに実行することができますが、実際にはで動作しています。です。つまり、コードのブロックが実行されていると言い、ですが、GUIはループを作成してアプリケーションjar内のラベルを更新する
def introduction_bill(x):
global time_remaining, time_allotted
time_remaining = 120
time_allotted = 120
app.removeAllWidgets()
print("ran 'introduction_bill'")
app.addLabel('timer', 'Time remaining: 2:00')
app.addButtons(['start timer','update'], [start_timer, update_timer])
app.addButton('next introduction', next_introduction)
....
def update_timer():
global time_remaining, current_function
current_function = 'update timer'
time_remaining = end_time - t.time()
minutes = int(time_remaining // 60)
seconds = round(time_remaining % 60, 2)
app.setLabel('timer', 'Timer remaining: ' + str(minutes) + ':' + str(seconds))
print("ran 'update_timer'")
if time_remaining > -10:
app.registerEvent(update_timer)
def start_timer(x):
print("ran 'start_timer'")
global start_time, end_time
start_time = t.time()
end_time = start_time + time_allotted
update_timer()
そしてhereは、その全体がコードで、問題のコードの特定の行をここで
を更新しているins't私はまだコードの初心者ですので、このコードは不完全で非常に荒いです。
私はそれを試したことを誓ったが、私は間違って何かを入れていると思う。それは今でも働く!ありがとう! –
それを聞いてうれしいです - あなたが幸せなら私の答えを受け入れてください。 –