【发布时间】:2021-04-12 12:43:35
【问题描述】:
我希望截取 python tkinter 窗口的屏幕截图(不是整个计算机屏幕)。我应用了以下代码:
import pyautogui
import tkinter as tk
root= tk.Tk()
# Define tkinter window
canvas1 = tk.Canvas(root, width = 300, height = 300)
canvas1.pack()
# Define fuction to take screenshot
def takeScreenshot ():
myScreenshot = pyautogui.screenshot()
myScreenshot.save('screenshot.png')
# Define fuction to take screenshot
myButton = tk.Button(text='Take Screenshot', command=takeScreenshot, bg='green',fg='white',font= 10)
canvas1.create_window(150, 150, window=myButton)
root.mainloop()
我希望只截取由 "tk.Canvas(root, width = 300, height = 300)" 定义的窗口 但是,我正在捕捉整个屏幕。
有人可以告诉我我们如何在 python 中解决这个问题吗?
【问题讨论】:
-
您在使用 Windows,请回复,因为我可以帮助提出使用 Windows API 的解决方案?
-
是的@Aiyush..我正在使用 Windows 10
-
你是要单独截取画布的截图吗?
-
是的@CoolCloud...o 希望只抓取画布部分的快照。
-
您的窗口是否总是相同的类型?首先是画布,然后是按钮?
标签: python python-3.x tkinter screenshot