用Python做一个“以图搜番“的应用程序,再也不用愁动漫图片的出处了!

前言

喜欢看动漫的朋友们大概都能体会到一个难受的事情,就是在论坛或者群聊里面看到一张动漫截图,很想知道它的出处,但百度搜了一圈却也没有一个可靠结果,就很郁闷。今天就来带大家用Python做一个简单的“以图搜番”小应用。应用本身的实现不是很难的事情,其实就是调用别人的API接口来实现,主要目的还是通过这个案例来学习以下内容:

  • 学习如何用PyQt5做用户交互界面(UI)
  • 学习如何使用Nuitka打包程序为exe文件

PyQt5界面设计

如果用 Python 语言开发 跨平台 的图形界面的程序,主要有3种选择:

  • Tkinter:基于Tk的Python库,这是Python官方采用的标准库,优点是作为Python标准库、稳定、发布程序较小,缺点是控件相对较少。

  • wxPython:基于wxWidgets的Python库,优点是控件比较丰富,缺点是稳定性相对差点、文档少、用户少。

  • PyQt5(或者PySide2):基于Qt 的Python库,优点是控件比较丰富、跨平台体验好、文档完善、用户多。缺点是库比较大,发布出来的程序比较大。

本教程使用的就是PyQt5,它是Digia的一套Qt5应用框架与python的结合,同时支持2.x和3.x。本教程使用的是3.x。Qt库由Riverbank Computing开发,是最强大的GUI库之一 ,官方网站:https://www.riverbankcomputing.com/software/pyqt/。
PyQt5是由一系列Python模块组成。超过620个类,6000函数和方法。能在诸如Unix、Windows和Mac OS等主流操作系统上运行。PyQt5有两种证书,GPL和商业证书。
安装方法:pip install PyQt5

使用Qt Designer绘制界面

在设计一个图形化界面的应用时,我们需要先绘制出其大致布局,可以在草稿纸上勾勒一下,然后通过PyQt5中的Qt Designer应用来设计,它的文件名叫designer.exe,找不到位置可以在本地文件中搜索一下:


下图为本应用的一个界面初步设计,通过标注的四个区域相互配合,即可完成一个UI设计,该工程会保存为一个.ui后缀名的UI文件,最好放在Python代码文件一起。本次界面设计并不复杂,两个按钮,一个打开图片,另一个点击后开始查询;一个QComboBox部件,用于选择备选结果;一个图片显示区域,显示打开的查询图片,一个结果显示区域,显示查询结果具体内容。界面下面是视频显示区域,即该图片出现在原动画中的视频片段。

具体的Qt Designer基本使用方法我就不在这里展开了,如果你第一次用,可以参考这个入门视频教程:https://www.bilibili.com/video/BV1cJ411R7bP ,讲得还挺好,我就是跟着这个视频入门学习的。它的文字版教程在这里:http://www.python3.vip/tut/py/gui/qt_01/

我是使用的VSCode编辑器,推荐一个插件——PYQT Integration,可以随时预览UI界面和编辑UI界面,也很方便把UI文件转换成Python代码。

视频部件插入小技巧

在UI界面中加一个视频显示部分我花了不少时间去研究&#x

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值