如何移动pyautogui.prompt()?
How to move pyautogui.prompt()?
当调用 pyautogui.prompt()
时,它会显示一个消息框,并且它始终位于同一位置。那个盒子里装着我需要看的图片,所以我可以写下正确的数字。我需要移动框或使其不可见或最小化或使其失去焦点。
问题是您无法在消息框显示时或显示后执行代码。 pyautogui.prompt 编码如下:pyautogui.prompt(text='', title='', default='', root=None, timeout=None)
。我知道每个参数的作用,except root。根参数不接受布尔值、整数、列表、字符串、点或元组。它会显示一条错误消息:AttributeError: 'tuple' object has no attribute 'withdraw'
,如果您将布尔值、整数、列表、字符串、点或元组放入。
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,但我不知道它的作用。
我找不到移动提示的方法,所以我做了一些更简单的事情。我刚刚使用了 IDLE。
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)
我不知道你是想改变 window 出现的位置,还是想在它出现后移动它。如果您只想更改默认的 window 位置,可以通过导入 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)
当调用 pyautogui.prompt()
时,它会显示一个消息框,并且它始终位于同一位置。那个盒子里装着我需要看的图片,所以我可以写下正确的数字。我需要移动框或使其不可见或最小化或使其失去焦点。
问题是您无法在消息框显示时或显示后执行代码。 pyautogui.prompt 编码如下:pyautogui.prompt(text='', title='', default='', root=None, timeout=None)
。我知道每个参数的作用,except root。根参数不接受布尔值、整数、列表、字符串、点或元组。它会显示一条错误消息:AttributeError: 'tuple' object has no attribute 'withdraw'
,如果您将布尔值、整数、列表、字符串、点或元组放入。
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,但我不知道它的作用。
我找不到移动提示的方法,所以我做了一些更简单的事情。我刚刚使用了 IDLE。
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)
我不知道你是想改变 window 出现的位置,还是想在它出现后移动它。如果您只想更改默认的 window 位置,可以通过导入 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)