У меня есть python скрипт приложения tkinter, который может делать снимки экрана при нажатии кнопки. Но, к сожалению, при съемке скриншота окно приложения также захватывается.
Вот код приложения:
from PIL import ImageGrab
import tkinter as tk
from tkinter import filedialog
import time
def takeShot():
sc = ImageGrab.grab()
path = filedialog.asksaveasfilename(defaultextension='.png')
sc.save(path)
root = tk.Tk()
canvas1 = tk.Canvas(root,width=300,height=300)
canvas1.pack()
but = tk.Button(text='Take Screenshot',command=takeShot,bg='green',fg='white',font=10)
canvas1.create_window(150,150,window=but)
root.mainloop()
Хотя снимок экрана снимается, но окно приложения также захватывается
Мне не нужно это белое окно на скриншоте. Я попытался свернуть окно, а затем развернуть его, обновив функцию следующим образом:
def takeShot():
root.withdraw()
sc = ImageGrab.grab()
root.deiconify()
path = filedialog.asksaveasfilename(defaultextension='.png')
sc.save(path)
, но она не сработала.
Есть ли способ свернуть приложение, а затем выполнить снимок экрана, а затем разверните его для сохранения диалогового окна, чтобы захватить весь экран ??