pyqt5初学入门--1.实现屏幕上自由截图功能

这篇PYQT5学习笔记介绍了如何在Python环境中配置QT,并详细讲解了利用PYQT5实现屏幕截图功能的思路和主要代码,还提供了GitHub上的代码分享链接。

PYQT5学习笔记
环境配置

PyCharm+Anaconda(安装过程略)
新导入工程先在Setting里配置环境,可以用Anaconda安装所需的库。过程如下
activate 环境
pip install 库

一。屏幕截图功能
实现思路

重写鼠标动作mousePressEvent、mouseMoveEvent、mouseReleaseEvent,记录鼠标位置,画出QRect。pos()是窗口位置,globalPos()是屏幕位置。

QRect(QPoint(self.old.x, self.old.y), QPoint(self.new.x, self.new.y))可以允许从任意角拖动截屏。

self.screen = QApplication.primaryScreen()
self.screenshot = self.screen.grabWindow(QApplication.desktop().winId(), self.rect.x(), self.rect.y(), self.rect.width(), self.rect.height())
用于截取图片,save()可以保存图片

self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)
QRubberBand是橡皮筋类,用于显示截取框

为了避免和其他窗口的鼠标动作冲突,先生成一个全屏无标题的窗口,覆盖在屏幕上,设置透明度setWindowOpacity(0.3),在新窗口上截屏,grabWindow()取图片之前先将透明度设为0.01,保证图片清晰度。

主要代码

代码
	    #鼠标左键开始截图
	    def mousePressEvent(self, event):
        if self.cutPic == True:
            self.old = event.globalPos()							#这两行代码
            self.old.x, self.old.y = self.old.x()
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值