[英]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.