python+tkinter+pyautogui 自制截屏软件
2021-02-17 06:17
标签:tkinter idt text 移动 增加 修改 geo rom auto 目标:虽然类似QQ等软件带有截屏功能,但还是感觉自造的好 使用说明:将以下代码保存为如:截屏.pyw 并发送到 桌面快捷方式 然后修改快捷方式的属性 增加快捷键。 现在可以用快捷键启动脚本截屏了。 然而:win10自带的 “Win+Shift+S”组合键便可进入截屏模式 代码: python+tkinter+pyautogui 自制截屏软件 标签:tkinter idt text 移动 增加 修改 geo rom auto 原文地址:https://www.cnblogs.com/pu369/p/12700781.html#! /usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk
import pyautogui
root = tk.Tk()
root.overrideredirect(True) # 隐藏窗口的标题栏
# root.attributes("-alpha", 0.3) # 窗口透明度70 %
root.attributes("-alpha", 0.4) # 窗口透明度60 %
#root.geometry("300x200+10+10") # 设置窗口大小与位置
root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight()))
root.configure(bg="blue")
#当工具条
canvas = tk.Canvas(root)
canvas.configure(width=300)
canvas.configure(height=100)
canvas.configure(bg="yellow")
canvas.configure(highlightthickness=0) # 高亮厚度
canvas.place(x=(root.winfo_screenwidth()-500),y=(root.winfo_screenheight()-300))
canvas.create_text(150, 50,font=‘Arial -20 bold‘,text=‘ESC退出,假装工具条‘)
# 再创建1个Canvas用于圈选
cv = tk.Canvas(root)
x, y = 0, 0
xstart,ystart = 0 ,0
def move(event):
global x, y ,xstart,ystart
new_x = (event.x-x)+canvas.winfo_x()
new_y = (event.y-y)+canvas.winfo_y()
s = "300x200+" + str(new_x)+"+" + str(new_y)
canvas.place(x = new_x - xstart,y = new_y -ystart)
print("s = ", s)
print(root.winfo_x(), root.winfo_y())
print(event.x, event.y)
#鼠标左键按下
def button_1(event):
global x, y ,xstart,ystart
x, y = event.x, event.y
xstart,ystart = event.x, event.y
print("event.x, event.y = ", event.x, event.y)
xstart,ystart = event.x, event.y
cv.configure(height=1)
cv.configure(width=1)
cv.place(x=event.x, y=event.y)
#鼠标左键按下并移动
def b1_Motion(event):
global x, y
x, y = event.x, event.y
print("event.x, event.y = ", event.x, event.y)
cv.configure(height = event.y - ystart)
cv.configure(width = event.x - xstart)
#鼠标左键松开
def buttonRelease_1(event):
global x, y,xstart,ystart
x, y = event.x, event.y
print("event.x, event.y = ", event.x, event.y)
Pstart=[0,0]
cv.place_forget()
img = pyautogui.screenshot(region=[xstart,ystart,x-xstart,y-ystart]) # x,y,w,h
img.save(‘screenshot.png‘)
# 退出
def sys_out(even):
#from tkinter import messagebox
#if messagebox.askokcancel(‘Exit‘,‘Confirm to exit?‘):
root.destroy()
# 绑定事件
canvas.bind("
文章标题:python+tkinter+pyautogui 自制截屏软件
文章链接:http://soscw.com/index.php/essay/56439.html