[英]How can I make a while True break if certain key is pressed? [Python]
我的脚本有一段时间是True:从按下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
您不会在循环中更改event
,因此不会期望event.KeyID
在以前为115时突然变为113。
您可能要做的是,在处理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()
。
进行关键事件
用F4更改变量True,如果变量仍然为True,则在Tkinter中执行新的计时器事件
mylabel.after(2000,process)#process是执行您的工作的函数
用F2更改变量False并取消计时器(after_cancel)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.