本文默认你已经学习了上一篇文章,如果你还没有学习,就赶快去学习吧。关注博主,学习更多内容。

文章目录

  • 前言
  • 一、创建项目
    • 1. 从模板创建项目
    • 2. 使用pycharm打开项目
    • 3. 安装Pyqt5库
    • 4. 安装Pyqt5库(备用)
    • 5. 运行模板程序
  • 二、制作软件界面
    • 1. 画界面
      • 截图按钮
      • 标签
      • 文本编辑框
    • 2. 绑定按钮事件
      • 1. 工具栏开启编辑信号槽
      • 2. 编辑信号槽
    • 3. 编译界面文件
    • 4. 添加点击事件
  • 总结

前言

经过上次学习,我们安装了tesseract识别引擎,并通过pytesseract实现了快速识别图片的内容。

本篇我们将使用pyqt+tesseract实现一个图片识别的桌面应用小项目。


一、创建项目

1. 从模板创建项目

首先我们需要一个pyqt的项目模板,供我们直接使用,而不必每次都重复搞那么多东西。打开模板地址,然后点击Use this templat按钮

接下来在Repository name输入你所创建的项目名称,选择你是否需要创建私人仓库,这个看个人意愿,然后点击Create repository from template从模板创建项目。


如下图,项目就创建好了

2. 使用pycharm打开项目

在仓库页面点击code按钮,然后复制克隆的地址

然后打开Pycharm,点击Get from VCS

然后填入刚才复制的克隆链接,如下图,然后点击clone按钮,等待项目加载完毕,

等待Pycharm自动打开以下页面,说明项目就创建好了

3. 安装Pyqt5库

Pycharm中,打开settings,找到项目管理这个页面,点击+号开始安装

主要安装两个包,一个是pyqt,一个是pyqt-sip,安装步骤就是先在左边选择要安装的包,然后指定版本,只要是5就可以了,然后点击Install Package就会安装包了。pyqt5-sip也是同样的步骤。

4. 安装Pyqt5库(备用)

有可能3的办法行不通,国内下载插件总是有点问题,所以提供备用选项,只要执行以下命令就行了,在使用之前建议给pip换成国内源,比如阿里源。

pip install pyqt5

5. 运行模板程序


运行后出现如下页面,表示环境搭建成功,

二、制作软件界面

1. 画界面

首先,一个比较重要的就是我们需要画一个软件的界面,在view包下选择UI_MainWindow.ui,右键,选择External Tools,在选择Qt Designer打开设计界面

如果你没有这一步的内容,建议你安装pyqt5的环境,这里暂且不讲,我在后面的文章会详细讲解怎么用pycharm搭建pyqt5开发环境。如果你现在就像尝试,可以看这篇文章


然后按照以下步骤打开主界面的设计器

  1. 点击打开按钮
  2. 选择UI_MainWindow.ui文件
  3. 点击打开窗体的打开按钮
  4. 如果出现testRes.qrc不存在的情况,请更新到res/testRes.qrc


首先把所有的组件都删除,全部框选,右键删除

然后拖动组件到界面,如下图,

以下是拖动过程

截图按钮

  1. 拖动pushbutton到界面
  2. 在界面中的按钮上右击,选择改变样式表写入以下内容
border: 0;
background:#fff;
border-radius:10px;
  1. 双击界面的按钮,输入截图
  2. 在界面右侧的属性编辑器中找到objectName,改为capture_btn

标签

拖动三个标签到界面上,进行如下图的改变

下面这个标签托大点,用来放图片,并在右侧属性编辑器中找到objectName,改为picture_label

文本编辑框

拖动文本编辑框到界面,然后在右侧属性编辑器中找到objectName,改为text_edit,找到readOnly,右侧勾选

2. 绑定按钮事件

qt的事件机制就是信号槽,网上大多资料都是手动绑定事件的,这里我们使用qt设计器绑定事件。

1. 工具栏开启编辑信号槽

2. 编辑信号槽

在截图按钮上拖动,但是注意不要拖到别的地方去,如下图哪个红线就可以。然后再配置连接张选择clicked()

然后在右侧点击编辑,在新出来的窗口中点击号新增一个槽

添加名字为capture_btn_clicked()的槽,然后一路Ok保存


然后保存界面即可。

3. 编译界面文件

在pycharm上,找到UI_MainWindow.ui并右键,执行pyuic,如下图

4. 添加点击事件

在controller包下面的MainWindow.py,添加如下代码

    @pyqtSlot()def capture_btn_clicked(self):print('按钮被点击')


然后运行程序,看看效果

点击按钮后在控制台输出了我们想要的内容,事件添加完成。


总结

以上就是本篇的全部内容。本篇完成了

  • 项目的创建
  • 绘制软件界面
  • 添加点击事件

本次的小工具只是这个项目中的一部分,实际上后面我们还会加入pdf格式转化等工具,直到本项目做到可以发布的地步,请期待后面的文章吧。

PyQt5DesignMode是本人结合MVC思想与pyqt5实现的一个项目模板,旨在可以用pyqt5实现多窗口应用,如果你感兴趣就给我个star吧。

欢迎订阅本专栏,学习更多python知识。

【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(一)创建项目和画界面相关推荐

  1. 【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能

    本文默认你已经学习了上一篇文章,如果你还没有学习,就赶快去学习吧.关注博主,学习更多内容. 文章目录 前言 一.任务目的 要求 二.实现截图功能 1. 截图功能分析 理论依据 1. 截图功能 2. 支 ...

  2. Python利用Face++实现身份证件图片识别

    引言 放假在家闲来无事,看到一个接口,于是想试着用这几天学的Python玩玩,就用Python的urllib2对接了身份证图片识别接口,这里面还有很多关于图片识别类的接口(虽然有些要钱),不过里面文字 ...

  3. 项目实战:ASP.NET:C/S架构 大学BBS论坛项目(推荐★★★)

    项目实战:ASP.NET:C/S架构  大学BBS论坛项目(推荐★★★) 目录 项目实战:ASP.NET:C/S架构  大学BBS论坛项目(推荐★★★) 编辑环境: 项目: 项目简介: 其他: 1.项 ...

  4. 哪些手写文字图片识别软件好用?分享这三款好用的软件

    在大学毕业季中,我们需要完成一份重要的论文著作,常常需要查阅大量文献资料.有些历史性资料是手写的图片资料,这给查阅和文献引用造成了一定的障碍.这时候,我们可以使用软件将手写图片资料识别成电子档,那你知 ...

  5. 识别图片有什么软件?这几个实用的图片识别软件请收好

    随着现代社会的发展,图片已经成为了人们日常生活中的重要组成部分.同时,由于图片的制作与传播越来越容易,人们也越来越需要一些能够帮助他们识别图片的软件.在这篇文章中,我将给大家介绍识别图片有什么软件,继 ...

  6. python 识图点击_Python图片识别——人工智能篇

    一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于PIL仅支 ...

  7. 项目实战——文档扫描OCR识别

    扫描全能王的实现,maybe 目录 一.文档扫描 1.引入所需要的库 2.图像的读取与预处理 读取图像 图像reszie, 图像灰度化.滤波.边缘检测. 3.轮廓检测 4.透视与二值变换 二.文字识别 ...

  8. python 识图点击_Python图片识别找坐标(appium通过识别图片点击坐标)

    ***如果只想了解图片相似度识别,直接看第一步即可 ***如果想了解appium根据图片识别点击坐标,需要看第一.二.三步 背景|在做UI测试时,发现iOS自定义的UI控件,appium识别不到.所以 ...

  9. python爬虫实战——自动下载百度图片(文末附源码)

    用Python制作一个下载图片神器 前言 这个想法是怎么来的? 很简单,就是不想一张一张的下载图片,嫌太慢. 在很久很久以前,我比较喜欢收集各种动漫的壁纸,作为一个漫迷,自然是能收集多少就收集多少.小 ...

最新文章

  1. 1.QT中的容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等
  2. SpringMVC+hibernate+mysql+EASYUI的登陆+CRUD
  3. 初识 Oracle 11g
  4. saltstack event 实践
  5. [译]Flask教程--Cookie
  6. nodemcu http get无法使用IP的问题
  7. StyleBook皮肤控件的使用
  8. oracle dbf文件读取,读取oracle数据表,导出到DBF文件。
  9. 2020年的成长印记
  10. lv官网编码查询_老太太拿LV买菜装大葱!结果闺女被抓了......
  11. 笔记类app之Leanote同步机制 韩俊强的博客
  12. 酷炫微信小程序点赞效果,带震动
  13. maven联网下载依赖时,在中央仓库找不到要下载的依赖
  14. 中学物理数字化探究实验室建设配备
  15. ESP8266 WIFI 模块串口调试过程-实现通过互联网实现数据远程传输(结尾含驱动代码链接)
  16. 好的数据库面试题集合
  17. 27岁程序员转职赏金猎人:一个漏洞10万美元,比工资香多了
  18. 新氧《2021中国医美抗衰消费趋势报告》:医美抗衰市场规模超755亿元
  19. (附源码)计算机毕业设计SSM金牛社区疫情防控系统
  20. 使用c语言测试大端和小端,C语言*符号使用及大端法小端法测试

热门文章

  1. MKS Robin Nano V3.0使用说明书
  2. 【自然语言处理】【多模态】BLIP:面向统一视觉语言理解和生成的自举语言图像预训练
  3. (百度之星资格赛) 度度熊与邪恶大魔王 (dp)
  4. saber与matlab,MATLAB与SABER联合仿真(Co-sim)遇到的问题
  5. 非真,亦非假——20世纪数学悖论入侵机器学习
  6. BarTender 打印机的控制详解
  7. 365值得吗 office_对于一个大学生来说,Office365是否值得购买?
  8. 【语音去噪】基于最小二乘自适应滤波LMS和RLS实现语音去噪含Matlab源码
  9. 音频传输之Jitter Buffer设计与实现
  10. 我与刘强东的故事:他的1000亿和我的5000万