python截取tkinter窗口

在python中有tkinter库可以做简单的界面,必要时需要保存当前窗口的显示信息,故需要截屏tkinter窗口的功能。

老规矩上代码,相比较网上提供的需要win32gui库的代码,我是没安装成功,经过研究,发现脚本中并未使用该库,直接抹除。

测试环境python3.7版本,pygetwindow和PIL库的安装方法可自行百度

from tkinter import *
import pygetwindow as gw   # 必要的库,用于获取窗口的位置
from PIL import ImageGrab  # 必要的库,用于图片保存的

def ss():
    win = gw.getWindowsWithTitle('DaysLeft')[0]  # 获取叫"DaysLeft"的窗口,和title对应
    winleft = win.left+9
    wintop = win.top+38 
    winright = win.right-9
    winbottom = win.bottom-9  # 获取tkinter窗口的位置
    final_rect = (winleft,wintop,winright,winbottom)
    img = ImageGrab.grab(final_rect)  # 获取窗口所在位置的方位的像素点信息
    img.save('Required Image.png')   # 保存img像素到文件中
#making the tkinter window
root = Tk()
root.title('DaysLeft')  # 当前窗口的名字

root.after(3000,ss) # 过了3000ms 调用ss函数

root.mainloop()

启动脚本正常后,出现一个窗口,经过3000ms后保存文件为“Required Image.png”,图片中保存的是一个空荡荡的图片,原因为,抹除标头信息,只保留主体界面。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值