我试图创建一个功能,将截图特别是tkinter窗口。你知道吗
这是目前为止我发现的最好的方法:
def save():
pyautogui.keyDown('alt')
pyautogui.keyDown('printscreen')
pyautogui.keyUp('printscreen')
pyautogui.keyUp('alt')
self.img = ImageGrab.grabclipboard()
self.img.save('paste.jpg', 'JPEG')
self.dataSend = Button(main, text = "Send", command = save).grid(column = 1, row = 13, sticky = W)
我之所以对alt + screenshot
使用pyautogui.keyDown
和Up
,是因为这个单击函数只打印应用程序窗口。你知道吗
但有时当我单击按钮Save
时,会出现一个错误:
self.img.save('paste.jpg', 'JPEG')
AttributeError: 'NoneType' object has no attribute 'save'
有没有别的办法?还有一个更平滑的方法,点击一个按钮截屏tkinter窗口并存储jpg文件?你知道吗
您应该使用pyscreenshot:
如果需要获取屏幕的一部分,可以使用该选项:
或使用Pillow中的
ImageGrab
从剪贴板保存:这对我很有用:
注意
grabclipboard
只适用于Windows和Mac操作系统相关问题 更多 >
编程相关推荐