文章目录
- 一.前言
- 二.展示
- 1.主界面
- 2.段落翻译
- 3.单词翻译
- 三.设计
- 1.UI设计
- 2.软件设计
- 3.参考
- 四.总结
一.前言
很早之前写过一篇python3GUI–翻译器By:PyQt5(附源码)
,但是发现相关引擎已经失效很久了,本次使用新引擎制作一款翻译器,支持段落翻译、单词翻译,值得一提的是,次版本加入了“朗读”的功能,本软件通过调用系统API将翻译结果朗读出来,对于学习语言的小伙伴可大有帮助。本版本复刻之前的功能,完成一款PyQt5制作的翻译器。Let’s go。
二.展示
1.主界面
延续了上一个版本的风格但是在原有基础上加以升级
2.段落翻译
在上方导入或者输入要翻译的内容,点击翻译按钮,软件会自动翻译,如果勾选了“自动朗读”,软件会在翻译完之后朗读出翻译结果。
3.单词翻译
用户通过鼠标左键选中一个单词后,软件会自动对选中单词进行翻译,并且解释单词属性,如果勾选了“自动朗读”,软件会在翻译完之后朗读出翻译结果。
三.设计
1.UI设计
本软件由一个窗口构成,整体布局结构为垂直布局,局部布局为水平布局,使用QPushButton、QTextEdit、QCheckBox、QFrame、QLabel等组件组成。
2.软件设计
软件主要由UI、引擎、自定义组件组成,UI就是与用户距离最近的界面,用户通过点击界面上的按钮、输入内容与我们设计的软件进行交互,当触发了相关的操作后,调用引擎对输入数据进行处理,引擎与UI是独立的两部分,由逻辑代码联系起来,引擎处理完成后,UI拿到回调的返回值,把处理好的结果以UI显示的方式展示给用户。本次重写了QTextEdit组件的mousePressEvent事件以及mouseReleaseEvent,实现了用户选中部分词语后自动进行单词翻译。
3.参考
在软件开发过程中参考了一些资料,在此对各位大佬致敬!
Py之pyttsx:pyttsx/pyttsx3的简介、安装、使用方法之详细攻略
quicktranslate 1.0.5
四.总结
本次使用PyQt5开发了一款翻译器,支持段落、单词翻译、朗读翻译结果,算是对前一篇进行了升级,在测试过程中新的引擎比较稳定。本次没有去定义样式,主打的就是一个实用。大家可以点击链接获取同款。如果觉得文章软件还可以,能给我点个赞么?