吉祥猴378 2024-07-13 18:36 采纳率: 95.8%
浏览 2
已结题

哪位大姥,知道如何在一定时间点击左键执行第一个条件,如果没有执行第二个条件

keyboard.press('c')
keyboard.press('g')
time.sleep(0.06)
keyboard.release('c')
keyboard.release('g')
time.sleep(0.5)
if button == mouse.Button.left and pressed:
    keyboard.press('5')
    keyboard.release('5')
else:
    time.sleep(0.68)
    keyboard.press('c')
    keyboard.press('2')
    time.sleep(0.01)
    keyboard.release('2')
    keyboard.release('c')
    time.sleep(0.039)
    keyboard.press('g')
    time.sleep(0.01)
    keyboard.release(

keyboard.add_hotkey('f',on_test1_click )
keyboard.wait('esc')

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2024-07-13 18:36
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    在 Python 中,你可以通过使用 keyboardmouse 这两个库来实现你的需求。首先,确保你已经安装了这两个库。如果还没有安装,可以通过 pip 安装:

    pip install keyboard
    pip install mouse
    

    接下来,你可以使用以下代码来实现你的需求:

    import keyboard
    import mouse
    import time
    
    def on_test1_click():
        keyboard.press('c')
        keyboard.press('g')
        time.sleep(0.06)
        keyboard.release('c')
        keyboard.release('g')
        time.sleep(0.5)
    
        # 等待鼠标左键点击
        start_time = time.time()
        while time.time() - start_time < 0.5:  # 等待0.5秒
            if mouse.is_pressed(mouse.Button.left):
                keyboard.press('5')
                keyboard.release('5')
                break
        else:  # 如果在0.5秒内没有点击鼠标左键
            keyboard.press('c')
            keyboard.press('2')
            time.sleep(0.01)
            keyboard.release('2')
            keyboard.release('c')
            time.sleep(0.039)
            keyboard.press('g')
            time.sleep(0.01)
            keyboard.release('g')
    
    # 设置热键 'f' 触发 on_test1_click 函数
    keyboard.add_hotkey('f', on_test1_click)
    
    # 等待 'esc' 键按下来结束程序
    keyboard.wait('esc')
    

    这段代码首先定义了一个 on_test1_click 函数,它包含了你想要执行的逻辑。然后,使用 keyboard.add_hotkey 来设置热键 'f',当按下 'f' 时,会触发 on_test1_click 函数。最后,使用 keyboard.wait('esc') 来等待按下 'esc' 键来结束程序。

    请注意,这段代码使用了 mouse.is_pressed 函数来检测鼠标左键是否被按下。这里假设你希望在按下 'f' 后的0.5秒内检测鼠标左键的点击。如果在这个时间内鼠标左键被点击,则执行第一个条件;如果没有点击,则执行第二个条件。

    如果你需要更多的帮助或者有其他问题,随时告诉我。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 创建了问题 7月13日