pyqt5画图用什么库,

  pyqt5画图用什么库,

  这篇文章主要为大家介绍了如何利用PyQt5制作一个简单的截图翻译工具,具有截图功能、翻译功能和文字识别OCR,需要的可以参考一下

  

目录

功能介绍用户界面界面截图翻译文字识别全局热键(快捷键)托盘管理主代码

 

  

功能介绍

 

  1.翻译功能

  2.截图功能(快捷键截图存储到剪切板中)

  3.文字识别光学字符识别(基于百度应用程序接口的文字识别)

  

UI 界面

 

  

截图

 

  截图可以使用第三方截图或使用PyQt5截图

  此文章使用PyQt5的截图

  类Snipper(QtWidgets .QWidget):

  def __init__(self,parent=None,flags=Qt .窗口标志():

  超级()。__init__(parent=parent,flags=flags)

  self.setWindowTitle(TextShot )

  self.setWindowFlags(#设置窗口属性,窗口置顶

  第四季度.FramelessWindowHint Qt .WindowStaysOnTopHint Qt .对话

  )

  自我。setwindowstate(self。windowstate() Qt .窗口全屏)

  self.screen=QtGui .QScreen.grabWindow(

  QtWidgets .QApplication.primaryScreen(),#获取当前屏幕分辨率(屏幕大小)

  QtWidgets .QApplication.desktop().winId(),

  )

  调色板=QtGui .QPalette() #调色板英语字母表中第十七个字母调色板类

  调色板。设置画笔(自我。后台角色(),QtGui .QBrush(自带屏幕))

  自我。设置调色板(调色板)

  # 改变鼠标形状

  QtWidgets .q应用。setoverridecursor(Qt GUI .QCursor(QtCore .Qt。横向传感器))

  self.start,self.end=QtCore .QPoint(),QtCore .QPoint()

  def keyPressEvent(self,event):

  if event.key()==Qt .Key_Escape:

  QtWidgets .QApplication.quit()

  返回超级().按键事件(事件)

  定义绘画事件(自身,事件):

  画师=QtGui .英语字母表中第十七个字母画师(自己)

  painter.setPen(Qt .NoPen)

  painter.setBrush(QtGui .QColor(0,0,0,100))

  painter.drawRect(0,0,self.width()、self.height())

  if self.start==self.end:

  返回超级().绘画事件(事件)

  painter.setPen(QtGui .QPen(QtGui .QColor(255,255,255),3))

  画家。设置画笔(油漆工。背景())

  painter.drawRect(QtCore .QRect(self.start,self.end))

  返回超级().绘画事件(事件)

  def mousePressEvent(self,event):

  self.start=self.end=Qt

  Gui.QCursor.pos()

   self.update()

   return super().mousePressEvent(event)

   def mouseMoveEvent(self, event):

   self.end = QtGui.QCursor.pos()

   self.update()

   return super().mousePressEvent(event)

   def mouseReleaseEvent(self, event):

   if self.start == self.end:

   return super().mouseReleaseEvent(event)

   self.hide()

   QtWidgets.QApplication.processEvents()

   if self.start.x() < self.end.x():

   shot = self.screen.copy(QtCore.QRect(self.start, self.end))

   else:

   shot = self.screen.copy(QtCore.QRect(self.end, self.start))

   QtWidgets.QApplication.quit()

  

  

 

  

翻译

 

  翻译功能可以请求百度翻译或者有道翻译,网上有很多这里就不多赘述。

  

 

  

文字识别

 

  文字识别本文字使用的百度云的文字识别OCR百度云文字识别

  

 

  

全局热键(快捷键)

 

  开启多线程捕获全局全局热键,防止主线程阻塞导致假死。

  安装

  

pip install system_hotkey

 

  示例

  

from system_hotkey import SystemHotkey

 

  

 

  

托盘管理

 

  托盘管理使用pyqt5的QSystemTrayIcon实现

  

class Tray(QSystemTrayIcon):

 

  

 

  

主代码

 

  

import sys

 

  到此这篇关于基于PyQt5制作一个截图翻译工具的文章就介绍到这了,更多相关PyQt5截图翻译内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: