繁体   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