暂停 Python 代码并在按键后继续,无需手动选择终端

问题描述 投票:0回答:1

我正在尝试制作自己的 gui 并将其与一些 pyautogui 的东西结合起来,并在这种情况下尝试创建一个按钮,将鼠标移动到第一个位置,然后在那里等待,直到按下键盘上的任何按钮,然后才开始继续移动到下一个位置。

我的问题是它可以工作,但前提是我手动选择终端,然后按任意键继续代码。不过,我希望它能够继续,而不必手动选择命令提示符/终端,因为我还可以使用 pyautogui 添加稍后的鼠标单击并使用它选择不同的窗口。

我尝试了几种不同的方法,例如使用 input() / msvcrt.getch() / Keyboard.wait() 但所有这些方法都以相同的问题结束。

(我也尝试将 .py 转换为 .exe,希望它可以工作,但没有成功。)

有什么方法可以暂停它并在按任意键后让它继续,而不必自己选择终端?

(是的,我对编码还很陌生,英语不是我的母语,如果有些事情不太容易理解,很抱歉)

import customtkinter, pyautogui, msvcrt, keyboard, time

customtkinter.set_appearance_mode("dark")
customtkinter.set_default_color_theme("dark-blue")

root = customtkinter.CTk()
root.geometry("900x550")

def tryout():
    pyautogui.moveTo(1632,133)
    print("Waiting for Key press...")
    input()
    print("Continuing...")
    pyautogui.moveTo(1792, 1076)
    

frame = customtkinter.CTkFrame(master=root)
frame.pack(pady=20, padx=60, fill="both", expand=True)

button = customtkinter.CTkButton(master=frame, text="Test", command=tryout)
button.pack(pady=12, padx=10)

root.mainloop()
python pyautogui msvcrt
1个回答
0
投票

有一种方法可以使用断点()来暂停执行,它内置于Python中,这里是文档pdb。请注意,这更多的是调试工具,我完全确定这是否是您所要求的。您可以在代码中设置多个断点,然后使用 continue(继续是您将运行的实际命令)移动到代码中的下一个断点()。完成后,您可以使用 exit() 退出调试器。 尝试在此处替换它来代替您的 input()。

def tryout():
    pyautogui.moveTo(1632,133)
    print("Waiting for Key press...")
    breakpoint()
    print("Continuing...")
    breakpoint()
    pyautogui.moveTo(1792, 1076)
© www.soinside.com 2019 - 2024. All rights reserved.