【发布时间】:2020-02-12 18:26:05
【问题描述】:
我有一个 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)
但是没有用。
有没有办法最小化应用程序,然后截取屏幕截图,然后将其最大化以保存对话框以便捕获全屏??
【问题讨论】:
标签: python tkinter screenshot