python 表单中值为空的还需要传入么_牛掰!100行Python,自动动手打造一款多国语言翻译软件...

4d44b609bb1b4acb089a5826219e2ba4.png

大家在平时的学习或者工作中,往往少不了要阅读外文的文献,或者将外文的文献翻译成中文。这时候就需要打开网页,然后进行搜索,非常的麻烦。既然是玩Python,小编就带领大家来打造一款多种语言翻译的软件,无需任何操作,打开就能使用,一起来看看吧。

有兴趣的同学可以关注小编,并私信“01”领取这款软件。

01.程序的设计

1).翻译功能的实现

对于这套翻译软件,其最核心的功能当属于翻译功能,这里我们用到的是“有道翻译”的接口,程序通过构造表单提交到接口中去,接口就会返回给我们翻译的结果,程序如下图所示:

588e0e72bacb628da8e933772ed1808b.png

上述程序中,我们在构造表单时,只需要传入我们翻译的"type"以及“i"的值,type代表着翻译的类型,比如说是”中译韩“、”中译英“等类型。

而i则代表的是我们需要翻译的内容。构造好表单后,我们只需要将表单提交给接口,接口即可返回给我们结果。如果调用接口失败的话,程序便会返回”有道词典接口调用失败“。

02.界面搭建

在核心内容完成之后,接下来我们来讲解一下界面的搭建,对于界面的搭建,我们利用tkinter进行完成。在初始化的界面中,程序如下图所示:

8717d5fde35bd2917b0be1076584155d.png

界面的初始化内容中,分别包含了Frame框架,用来放置文本框内容,下拉菜单用来进行翻译类型的选择,而按钮的作用则是用来启动翻译的程序。

界面的搭建大家只需要设置好每个控件的位置和大小即可,界面的整体布局如下图所示。

fbc296109cca59e5e758dff9f4423f15.png

对于功能的实现,大家只需要在上述的界面中,点击”翻译“按钮,便会自动执行下图中的函数。

7a093046ec3fa40e3133f6e0d4bbabd8.png

上述的函数分别获取了翻译的类型以及需要被翻译的内容,然后调用了getResult函数,来获取翻译的结果,翻译得到的结果将会被展示在界面右侧的文本框之中。

03.封装软件

对于将程序封装成可执行的程序,这里我们用到的是Pyinstaller,其版本号为4.2,python的版本为python3.6。对于软件的封装,大家只需要在命令行中跳转到程序的根目录下,然后运行pyinstaller -F -w -i python.ico sofeware.py即可开始封装。

-F的意义是打包单个py文件,-w的意义是程序启动不开启命令行,-i的意义是表明我们的图标是用的python.ico 这个图标。最后我们输入想要被封装的py文件即可。

04.总结

以上就是小编今天为大家带来的翻译软件的制作,大家可以直接下载软件应用起来,方便又实惠。学Python就是这么有趣好玩!

有兴趣的同学可以关注小编,并私信“01”领取这款软件。

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

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

相关文章

使用Visual Studio 2010 一步一步创建Powershell Module 和 Cmdlet

之前写了一个C# 调用PowerShell方法, 那么怎么反过来操作呢,也就是怎么样用C#写一个powershell命令呢? 现在就用C#写一个超级简单的Module和Cmdlet 1. 在VS中创建一个Library的项目 文件->新建->项目->C#->Class Library 在这里给…

休眠锁定模式– PESSIMISTIC_FORCE_INCREMENT锁定模式如何工作

介绍 在我以前的文章中 ,我介绍了OPTIMISTIC_FORCE_INCREMENT锁定模式,并将其应用于将子实体版本更改传播到锁定的父实体。 在本文中,我将介绍PESSIMISTIC_FORCE_INCREMENT锁定模式,并将其与乐观的锁定模式进行比较。 相像多于不…

实用程序类与函数式编程无关

最近,我被指控反对函数式编程,因为我将实用程序类称为反模式 。 绝对是错的! 好吧,我确实认为它们是一种糟糕的反模式,但是它们与函数式编程无关。 我相信有两个基本原因。 首先,函数式编程是声明性的&…

freeredius3.0 mysql_EDIUS视频采集卡 STROM 3G HD/HD SDI

EDIUS STROM 3G HD/HD SDI高清非编系统视音频采集卡STORM 3G? 适用于视频专业人士,满足基于SDI编辑和无带化工作流程,同时可以在低成本的HDMI监/视器上预监。基于PCIe插口类型的STORM 3G解决方案包括EDIUS?非线性编辑软件,3G HD…

以编程方式确定Java类的JDK编译版本

当需要确定使用哪个JDK版本来编译特定的Java .class文件时, 通常使用的方法是使用javap并在javap输出中查找列出的“主要版本”。 我在博客文章Autoboxing,Unboxing和NoSuchMethodError中引用了这种方法,但是在继续以编程方式实现此方法之前&…

如何使用Spring Security和Basic身份验证保护Jersey REST服务

在我之前的博客文章“ 检查REST API是否有效的快速方法–从清单文件中获取GET详细信息”中 ,我展示了如何开发REST资源以轻松检查开发的REST API是否可用。 在本文中,我将介绍如何使用Spring Security和基本身份验证来保护此资源的安全性– “在HTTP事务…

python提取数据段_python提取数据段 python数据分析

如何在python中用slice分段取数据?执行以下操作:&gt&gt arange(6)&gt&gt a[0,1,2,3,4,5]&gt&gt a[0:3],a[5][[2,3,4,4&a…

一个JAXB Nuance:字符串与枚举(受限制的XSD字符串)

尽管用于XML绑定的Java体系结构 ( JAXB )在名义情况下(尤其是自Java SE 6以来) 相当容易使用,但它也存在许多细微差别。 一些常见的细微差别是由于无法将 XML模式定义 (XSD)类型与Java 类型精确…

休眠锁定模式– OPTIMISTIC_FORCE_INCREMENT锁定模式如何工作

介绍 在我以前的文章中 ,我解释了OPTIMISTIC锁定模式是如何工作的,以及它如何帮助我们同步外部实体状态更改。 在本文中,我们将介绍OPTIMISTIC_FORCE_INCREMENT锁定模式的使用模式。 使用LockModeType.OPTIMISTIC ,将在当前正在运…

设置本地Nexus存储库并从Maven部署WAR文件

Maven Central充当中央存储库管理器,其中二进制工件由不同的团队/公司/个人上载并与世界其他地方共享。 就像github和其他对源代码控制非常有效的源代码存储库一样,这些存储库管理器还充当您自己生成的二进制工件的部署目标。 设置本地存储库管理器具有…

mac solr mysql 配置文件_Solr配置文件浅析

接上一篇Linux下安装solr7.4,来谈谈solr的配置文件schema.xml和db-data-config.xml首先看schema.xml:idfield标签用来定义solr core中的字段。这里列出的三个字段如果没有特殊原因尽量保留。字段id被声明为uniqueKey,是让id来唯一标明一个solrdocument。…

JSF:在正确的阶段进行验证(了解生命周期)

嗨,大家好! 尽管标题强调验证一词,但本文实际上是关于JSF生命周期的。 那是因为我相信,真正了解生命周期的最简单方法之一就是通过做出我们一直在做的事情:验证用户输入。 总的来说,理解所谓的JSF生命周期…

OpenShift v3:使用WildFly和MySQL的Java EE 7入门

OpenShift是Red Hat的开源PaaS平台。 OpenShift v3 (将于今年发布)将提供使用Docker和Kubernetes运行微服务的整体体验。 以经典的Red Hat方式,所有工作都在OpenShift Origin的开源中完成。 这也将推动OpenShift Online和OpenShift Enterpris…

mySQL日期函数并运行_mysql日期相关的函数

1、获取当前时间:/**获得当前日期时间(date time)函数:now(), 常用**/select now() fromdual;/**获取当前时间戳,current_timestamp或者current_timestamp()**/select current_timestamp, current_timestamp() fromdual;/**获得当前日期时间…

序列化对象C++对象的JSON序列化与反序列化探索

新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 一:背景 作为一名C开发人员,我始终很期待能够像C#与JAVA那样,可以省力的进行对象的序列化与反序列化,但到现在为止&#xff…

python socket udp并发_Python进阶----UDP协议使用socket通信,socketserver模块实现并发

Python进阶----UDP协议使用socket通信,socketserver模块实现并发一丶基于UDP协议的socket实现UDP协议传输数据代码如下:👇### 客户端# -*-coding:utf-8-*-# Author:Dsimport socket# 实例化UDP协议的socket对象 ,配置参数, socket.SOCK_DGRAM(数据报)udp_clisocket.…

Java IO基准测试:Quasar与异步ForkJoinPool与ManagedBlock

“ Arien看到了我们运行的parallelStreams和ForkJoin基准测试的结果后,在Twitter上与我们联系。 这激起了他的兴趣,因此他进行了一些自己的测试,将Quasar纤维加入了混合物。 这是他的结果和结论。” –塔基皮(Takipi)A…

WP8开发札记(一)WP8应用生命周期管理

在介绍生命周期前,我们先了解两个相关的概念。 1、墓碑机制:WP8与Android采用的真后台机制不同,WP8采用的是墓碑机制。一旦从当前应用程序离开(非退出),该应用会被墓碑化,这样可以更好的管理&am…

python类继承中构造方法_第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解...

第8.3节Python类的__init__方法深入剖析:构造方法与继承详解一、 引言上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类没有重写构造方法,Python将会给出默认的__init__方法…

OpenShift DIY:使用Gradle构建Spring Boot / Undertow应用程序

由于此bug, Gradle 1.6是在OpenShift上运行的最后一个受支持的Gradle版本。 但是从Gradle 2.2开始,这不再是问题,因此使用自己动手做墨盒在OpenShift上运行最新的Gradle不再是问题。 DIY墨盒是一种实验性墨盒,它提供了一种在OpenS…