擅长:python、mysql、java
<p>您的问题明确地说不要使用<code>after</code>,但这正是使用tkinter的方式(假设您的函数不超过几百毫秒完成)。例如:</p>
<pre><code>def printit():
if not stopFlag:
root.after(100,printit)
...
def stop():
global stopFlag
stopFlag = False
...
printit()
</code></pre>
<p>上述操作将导致<code>printit</code>每隔100ms调用一次,直到另一段代码将<code>stopFlag</code>设置为<code>False</code>。在</p>
<p>注意:如果<code>printit</code>花费的时间超过100ms,这将不能很好地工作。如果函数花费了两个时间,您只能选择将函数移动到线程中,或者将其移动到另一个进程。如果<code>printit</code>花费的时间不超过100ms,那么上面的代码就足以让UI保持响应。在</p>