擅长:python、mysql、java
<p>你不能</p>
<p>相反,您可以使用“after”命令在短时间内延迟任何实际工作。每次调用命令时,请取消所有挂起的工作并重新安排工作。根据您的实际需求,半秒的延迟可能就足够了。</p>
<p>另一种选择是不使用内置命令功能,而是使用自定义绑定。这可能是很多工作,以获得正确的,但如果你真的需要细粒度的控制,你可以做到这一点。别忘了,除了鼠标之外,还可以使用键盘与小部件交互。</p>
<p>下面是一个简短的示例,演示如何在半秒钟内安排要完成的工作:</p>
<pre><code>import Tkinter as tk
#create window & frames
class App:
def __init__(self):
self.root = tk.Tk()
self._job = None
self.slider = tk.Scale(self.root, from_=0, to=256,
orient="horizontal",
command=self.updateValue)
self.slider.pack()
self.root.mainloop()
def updateValue(self, event):
if self._job:
self.root.after_cancel(self._job)
self._job = self.root.after(500, self._do_something)
def _do_something(self):
self._job = None
print "new value:", self.slider.get()
app=App()
</code></pre>