我正在尝试制作自己的 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中,这里是文档pdb。请注意,这更多的是调试工具,我完全确定这是否是您所要求的。您可以在代码中设置多个断点,然后使用 continue(继续是您将运行的实际命令)移动到代码中的下一个断点()。完成后,您可以使用 exit() 退出调试器。 尝试在此处替换它来代替您的 input()。
def tryout():
pyautogui.moveTo(1632,133)
print("Waiting for Key press...")
breakpoint()
print("Continuing...")
breakpoint()
pyautogui.moveTo(1792, 1076)