簡體   English   中英

如果按下某些鍵,我該如何休息一會兒? [蟒蛇]

[英]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()

進行關鍵事件

  1. 用F4更改變量True,如果變量仍然為True,則在Tkinter中執行新的計時器事件

    mylabel.after(2000,process)#process是執行您的工作的函數

  2. 用F2更改變量False並取消計時器(after_cancel)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM