python3GUI--我的翻译器By:PyQt5(附下载地址)

文章目录

  • 一.前言
  • 二.展示
    • 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开发了一款翻译器,支持段落、单词翻译、朗读翻译结果,算是对前一篇进行了升级,在测试过程中新的引擎比较稳定。本次没有去定义样式,主打的就是一个实用。大家可以点击链接获取同款。如果觉得文章软件还可以,能给我点个赞么?
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java on VS Code 7 月更新|反编译器支持升级、代码补全性能提升、AI 相关更新及更多

作者:Nick Zhu 排版:Alan Wang 大家好,欢迎来到 Visual Studio Code for Java 的7月更新!在这篇博客中,我们将为您提供有关反编译器支持的重要更新。此外,我们将分享更多最近代码补全性能提升的进展&#x…

【ChatGPT】基于WSL+Docker的ChatGPT PLUS共享服务部署

最近买了ChatGPT PLUS服务,想通过web服务将它共享给其他人使用,搜了一下目前GitHub上比较热门的服务有 ChatGPT-Next-Webchatgpt-web-share 其中chatgpt-web-share支持API和PLUS账号分享两种方式,且架构为PythonJSDocker,相对比…

【LeetCode】27. 移除元素

题目大概意思是剔除nums数组中出现的所有val值。可以用快慢双指针法来做。 快的指针在前面遍历找值不为val的元素的下标,慢的负责接收值不为val的元素,并及时更新数组。 class Solution {public int removeElement(int[] nums, int val) {//快慢指针法in…

【Liux下6818开发板(ARM)】实现简易相册

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

uniapp文件下载

使用uniapp提供给我们的uni.downloadFile、uni.saveFile和uni.openDocument三个API就可以了 也很简单&#xff0c;直接贴一下代码&#xff0c;安修修改一下即可 <template><view><image tap"pdfDownLoad" style"width: 35rpx;height: 35rpx;&…

2、认识O(nlogn)的排序

归并排序 分两半,谁小拷贝谁 public class Test{public static void mergeSort(int[] arr) {if (arr == null || arr.length < 2) {return;}mergeSort(arr, 0, arr.length - 1);}public static void mergeSort(int[] arr, int l, int r) {if (l == r) {return;}int mid =…

第一百回 如何实现文件存储二

文章目录 知识回顾示例代码 我们在上一章回中介绍了" 如何实现文件存储"相关的内容&#xff0c;本章回中将继续介绍与此相关的内容.闲话休提&#xff0c;让我们一起Talk Flutter吧。 知识回顾 我们上一章回中介绍了实现文件存储的三个步骤&#xff0c;不过限于篇幅…

【3】Linux实现多进程、多线程

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、linux开发的方向二、Linux环境特点1、Linux环境介绍2、Linux环境基本构成三、同步与互斥1、Linux同步并发的方法(1)创建、终止、等待、分离线…

Golang之路---03 面向对象——结构体

结构体 结构体定义 在之前学过的数据类型中&#xff0c;数组与切片&#xff0c;只能存储同一类型的变量。若要存储多个类型的变量&#xff0c;就需要用到结构体&#xff0c;它是将多个任意类型的变量组合在一起的聚合数据类型。 每个变量都成为该结构体的成员变量。   可以理…

介绍如何快速传输100G大文件传输方法

如何快速地将100GB的大文件从一个地方传送到另一个地方&#xff0c;这是许多人都遇到过的一个难题&#xff0c;无论是个人用户还是企业用户&#xff0c;都有这样的需求。在很多场合&#xff0c;我们需要将大文件迅速地发送到远程位置。比如&#xff0c;当我们需要对重要数据进行…

心法利器[93] | 谈校招:技术面

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会&#xff0c;与大家一起成长。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。 2022年新一版的文章合集已经发布&#xff0c;累计已经60w字了&#xff0c;获取方式看这里&…

DeepVO 论文阅读

论文信息 题目&#xff1a;DeepVO Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks 作者&#xff1a;Sen Wang, Ronald Clark, Hongkai Wen and Niki Trigoni 代码地址&#xff1a;http://senwang.gitlab.io/DeepVO/ (原作者并没有开源…

插入排序算法

插入排序 算法说明与代码实现&#xff1a; 以下是使用Go语言实现的插入排序算法示例代码&#xff1a; package mainimport "fmt"func insertionSort(arr []int) {n : len(arr)for i : 1; i < n; i {key : arr[i]j : i - 1for j > 0 && arr[j] > …

Python web实战 | 使用 Flask 实现 Web Socket 聊天室

概要 今天我们学习如何使用 Python 实现 Web Socket&#xff0c;并实现一个实时聊天室的功能。本文的技术栈包括 Python、Flask、Socket.IO 和 HTML/CSS/JavaScript。 什么是 Web Socket&#xff1f; Web Socket 是一种在单个 TCP 连接上进行全双工通信的协议。它是 HTML5 中的…

lua脚本实现Redis令牌桶限流

背景 令牌桶限流是一种常见的流量控制算法&#xff0c;用于控制系统的请求处理速率&#xff0c;防止系统过载。在令牌桶限流算法中&#xff0c;可以将请求看作是令牌&#xff0c;而令牌桶则表示系统的处理能力。系统在处理请求时&#xff0c;首先需要从令牌桶中获取令牌&#…

【编程语言 · C语言 · 学生管理系统】

【编程语言 C语言 学生管理系统】https://mp.weixin.qq.com/s?__bizMzg4NTE5MDAzOA&mid2247491542&idx1&snf9b72a5af62a93bc902c5467056a9343&chksmcfade32ff8da6a3956be7d6a5dceb97de27e25157804abf8a3193272fa8ad68e78640ca33a5c&token1462056111&…

react

react权威面试题 1.jsx转化过程2.fiber架构的理解&#xff0c;解决了什么问题&#xff1f;理解fiber是什么 3.react diff原理tree diffcomponent diffelement diff 4.如何提高组件渲染效率shouldComponentUpdatePureComponentReact.memo 5.react中render方法原理&#xff0c;触…

Docker 部署 redis 举例

1、搜索镜像&#xff0c;也可以访问 https://hub.docker.com/ 搜索镜像&#xff0c;查看所有版本。 $ docker search redis2、拉取镜像 $ docker pull redis:5.03、启动镜像&#xff0c;并配置相关映射与绑定&#xff08;附&#xff1a;Docker 常用命令与指令参数&#xff09…

【大数据之Flume】四、Flume进阶之复制和多路复用、负载均衡和故障转移、聚合案例

1 复制和多路复用 &#xff08;1&#xff09;需求&#xff1a;使用 Flume-1 监控文件变动&#xff08;可以用Exec Source或Taildir Source&#xff09;&#xff0c;Flume-1 将变动内容传递给 Flume-2&#xff08;用Avro Sink传&#xff09;&#xff0c;&#xff08;用Avro Sou…

BugKu CTF(杂项篇MISC)—想要种子吗

BugKu CTF(杂项篇MISC)—想要种子吗 提 示: 描 述:flag{} 题目下载后是一张图片&#xff0c;打开如下。 一、工具 十六进制编辑器010 editor kali系统文件分离工具binwalk或者foremost 维吉尼亚密码 STEGHIDE图片隐写工具 文章所需的软件下载地址 ARCHPR压缩包密码破解…