0

実行/開始された後、このタイマーを強制終了するにはどうすればよいですか?

def my_timer(*args):
    return True# do ur work here, but not for long

gtk.timeout_add(1000, my_timer) # call every min
4

2 に答える 2

1

2 つのオプション:

  • my_timer() 関数内で再度呼び出してはならないことがわかっている場合は、False を返すだけです。
  • または、timeout_add() が返すイベント ID を保存し、g_source_remove(event_id)不要になったときにa を実行します。

また、「毎分呼び出す」というコメントは間違っています。ハンドルは毎秒呼び出されます。

提案: 1 秒未満の精度が必要ない場合は、timeout_add_seconds() を使用してください。これにより、glib が物事を最適化できるようになり、電源管理に適しています。

于 2013-10-31T12:18:31.127 に答える
0
def my_timer(*args):
    return True# do ur work here, but not for long

t =gtk.timeout_add(1000, my_timer) # call every min
time.sleep(5)
gtk.timeout_remove(t)              # kill the timer
于 2013-10-31T13:20:45.193 に答える