我的剧本有一段时间是真的:按下F4开始,但我希望它在按下F2时停止,我该怎么办?
我正在尝试这个(使用pyhook)但不起作用......
def onKeyboardEvent(event):
if event.KeyID == 115: #F4
while True:
selectAndCopy(468,722)
getClipboard()
time.sleep(2)
if event.KeyID == 113:
break
return True
答案 0 :(得分:1)
你没有在你的循环中更改event
,所以你不希望event.KeyID
突然变为113,而之前是115。
你可能会做的是,在处理F4按键时,启动一个每两秒执行一次selectAndCopy的计时器。当您通过F2击键获得另一个事件时,请终止计时器。
看起来像这样:
def onKeyboardEvent(event):
if event.KeyID == 115: #F4
startTimer(doTimer, 2)
if event.KeyID == 113:
stopTimer()
def doTimer():
selectAndCopy(468,722)
getClipboard()
您必须提供或查找startTimer()
和stopTimer()
的实施。
答案 1 :(得分:0)
制作
的关键事件使用F4更改变量 True 如果变量仍为True,请执行新的计时器事件 例如在Tkinter
中mylabel.after(2000,process)#process是做你的东西的功能
使用F2 更改变量 False 取消计时器(after_cancel)