UIにkivyを使用しています。 Time_consuming関数があり、それが実行されるとき、kivy UIは黒で表示されるので、私はThreadingを使用しました。 Time_consuming関数が終了するまでボタンを無効にしてから、もう一度ボタンを有効にします。 Time_consuming()が終了した場合であっても、真である)関数がkivyで終了するまで、un_activeボタン
from threading import Thread
from kivy.clock import Clock
from functools import partial
def run():
self.run_button.disabled=True
self.back_button.disabled=True
t=Thread(target=Time_consuming(), args=())
t.start()
Clock.schedule_interval(partial(disable, t.isAlive()), 8)
def disable(t, what):
print(t)
if not t:
self.run_button.disabled=False
self.back_button.disabled=False
が、この用量は、無効でt.isAliveを()(動作しない:私は以下のようなものを使用されています。問題はどこだ ?
question2:別の問題は、Clock.schedule_intervalは永久に実行され続けることです。機能が終了したらどうやって止めることができますか?
あなたが(スレッドを取得する場所を明確にしてください可能性が)あなたのコード – PalimPalim
が行わ –
質問2コーディングするインポートを追加複製することが容易であるので、から:Clock.schedule_once(my_callbackを) – PalimPalim