擅长:python、mysql、java
<p>也使用<code>after</code>的<a href="https://stackoverflow.com/questions/53557395/check-if-a-tkinter-button-remains-clicked/53557963#53557963">fhdrsdg's answer</a>的替代方法是测量<code>Button</code>的<code>state</code>值并检测它当前是否为<code>active</code>,为此,我们将一个函数绑定到<code>Button</code>,该函数检查<code>state</code>,然后如果<code>state</code>为<code>active</code>,则增加一个值,然后使用<code>after</code>在短暂延迟后再次调用该函数:你知道吗</p>
<pre><code>from tkinter import *
class App():
def __init__(self, root):
self.root = root
self.button = Button(self.root, text="Increment")
self.value = 0
self.button.pack()
self.button.bind("<Button-1>", lambda x: self.root.after(10, self.increment))
def increment(self, *args):
if self.button["state"] == "active":
self.value += 1
print(self.value)
self.root.after(10, self.increment)
root = Tk()
App(root)
root.mainloop()
</code></pre>