Python 如何移动pyautogui.prompt()?
调用Python 如何移动pyautogui.prompt()?,python,pyautogui,Python,Pyautogui,调用pyautogui.prompt()时,它会显示一个消息框,并且始终位于同一位置。那个盒子里有我需要看的图片,所以我可以写正确的号码。我需要移动盒子或使其不可见,或使其最小化或使其失去焦点 问题是,在显示消息框时或之后,您无法执行代码。pyautogui.prompt的编码如下:pyautogui.prompt(text='',title='',default='',root=None,timeout=None)。我知道每个论点的作用,除了根。根参数不接受布尔值、整数、列表、字符串、点或元组
pyautogui.prompt()
时,它会显示一个消息框,并且始终位于同一位置。那个盒子里有我需要看的图片,所以我可以写正确的号码。我需要移动盒子或使其不可见,或使其最小化或使其失去焦点
问题是,在显示消息框时或之后,您无法执行代码。pyautogui.prompt的编码如下:pyautogui.prompt(text='',title='',default='',root=None,timeout=None)
。我知道每个论点的作用,除了根。根参数不接受布尔值、整数、列表、字符串、点或元组。它显示一条错误消息:AttributeError:“tuple”对象没有属性“draw”
,如果您将布尔值、整数、列表、字符串、点或tuple放入其中
root用户只接受pyautogui.moveTo
、pyautogui.dragTo
和其他鼠标命令。它们不是很有用,因为它们在框出现之前执行。这是我的密码:
import pyautogui
selected_picture = int(pyautogui.prompt('Please write which picture to click on.',
'Select picture'))
if selected_picture == 1:
pyautogui.click(500,270)
if selected_picture == 2:
pyautogui.click(700,270)
if selected_picture == 3:
pyautogui.click(900,270)
是的,我需要使用
pyautogui.prompt
或其他一些消息框来完成。原始文档甚至没有提到root或timeout属性,我在任何地方都找不到这些信息。我试着用tkinter做些什么,但我不知道它能做什么。我找不到移动提示符的方法,所以我做了一些更简单的事情。我只是用空闲时间
import pyautogui
pyautogui.hotkey('alt','shift')
selected_picture = input()
pyautogui.hotkey('alt','shift')
if selected_picture == 1:
pyautogui.click(500,270)
if selected_picture == 2:
pyautogui.click(700,270)
if selected_picture == 3:
pyautogui.click(900,270)
我不知道您是想更改窗口的显示位置,还是想在它出现后移动它。如果您只想更改默认窗口位置,可以通过导入
pymsgbox
并更改其rootWindowPosition
值(默认值为“+300+200”
)来完成,然后您在其后放置的每个消息框都将显示在新位置
import pyautogui as pag
import pymsgbox
pag.prompt(text="300,200") # appears at (300, 200)
pymsgbox.rootWindowPosition = "+500+500"
pag.prompt(text="500,500") # appears at (500, 500)
您可以将
root
参数设置为一个实例(并调用其.geometry()
方法将其定位在您想要的位置,然后再将其传递给pyautogui.prompt()
)。@martineau我试图将tkinter.Tk().geometry()传递给root
。它显示了两个窗口。一个窗口来自prompt
,另一个窗口来自tkinter
。这不是我建议的,一般来说,在tkinter
应用程序中,您不应该多次调用Tk()
(pyautogui
可能会自动执行)。