Python链接有道翻译 python自带的翻译器 您所在的位置:网站首页 英语简写翻译器 Python链接有道翻译 python自带的翻译器

Python链接有道翻译 python自带的翻译器

2023-06-26 06:27| 来源: 网络整理| 查看: 265

翻译器流程

Python链接有道翻译 python自带的翻译器_Python链接有道翻译

1:功能实现

软件主要使用了 Requests 库和 Tkinter 窗口视窗设计的模块, 调用有道翻译接口完成翻译功能:

2:Requests 库 在 Web 后台开发过程中, 会遇到需要向第三方发送 http 请求的场景, Python 中的 Requests 库可以很好地满足这一要求。Requests 模 块 数据 第 三 方 库 , 这 里 使用 pip 进行安装: pip install requests。

3:Tkinter 模块 Tkinter 是 Python 的 标 准 GUI 库 。 Python 使 用Tkinter 可 以 快速 的 创 建 GUI 应 用 程 序 。 由 于 Tkinter是内置到 Python 的安 装包中、 只要安装好 Python 之后 就 能 import Tkinter 库 、 而 且 IDLE 也 是 用 Tkinter编写而成、 对于简单的图形界面 Tkinter 还 是 能 应 付自如。

4:有道翻译接口 有道翻译 API,为广大开发者提供开放接口,或网站可通过有道翻译 API, 构建丰富多样的功能或应用,为用户带来即时、准确、方便的查词或翻译体验, 从而降低语言理解与应用门槛。

5:程序设计 定义 Translate 类, 主要功能: (1) def init (self) : 初始 化 窗 口 名 称 及 大 小 、 创 建一个输入框用于等待用户输入、 创建一个文本展示框 用于输出翻译结果。 (2) def gui_arrang (self) : 完 成 页 面 元 素 布 局 , 设 置各部件的位置。 (3) def fanyi (self) : 完成翻译功能。 (4) def cle (self) : 用于清空输出框的内容。 (5) def cle_e (self) : 用于清空输入框的内容。 定义主函数 def main() :主要用于完成对 Translate 类 的实例化和调用, 为整个软件的启动入口。

# -*- coding:utf-8 -*- import requests from requests.exceptions import RequestException import tkinter as tk class Translate(): def _init_(self): self.window = tk.Tk() # 创建 window 窗口 self.window.title("专业英语翻译器") # 定义 # 窗口名称 self.window.resizable(0, 0) # 禁止调整窗口 # 大小 self.input = tk.Entry(self.window, width=80) # 创建一个输入框,并设置尺寸 self.info = tk.Text(self.window, height=18) # 创建一个文本展示框,并设置尺寸 # 添加一个按钮,用于触发翻译功能 self.t_button = tk.Button(self.window, text=' 翻 译 ', relief=tk.RAISED, width=8, height=1, command=self.fanyi) # 添加一个按钮,用于触发清空输入框功能 self.c_button1 = tk.Button(self.window, text=' 清空输 入 ', relief=tk.RAISED, width=8, height=1, command=self.cle_e) # 添加一个按钮,用于触发清空输出框功能 self.c_button2 = tk.Button(self.window, text=' 清空输出 ', relief=tk.RAISED, width=8, height=1, command=self.cle) # 添加一张图标 self.image_file = tk.PhotoImage(file='logo.fw.png') self.label_image = tk.Label(self.window, image=self.image_file) """完成页面元素布局,设置各部件的位置""" def gui_arrang(self): self.input.grid(row=0, sticky="W", padx=1) self.info.grid(row=1) self.t_button.grid(row=0, column=1, padx=2) self.c_button1.grid(row=0, column=2, padx=2) self.c_button2.grid(row=0, column=3, padx=2) self.label_image.grid(row=1, column=1, columnspan=3) """定义一个函数,完成翻译功能""" def fanyi(self): original_str = self.input.get() # 定义一个变量,用来接收输入框输入的值 data = {'doctype': 'json', 'type': 'AUTO', 'i': original_str} # 将输入框输入的值,赋给接口参数 url = "http://fanyi.youdao.com/translate" try: r = requests.get(url, params=data) if r.status_code == 200: result = r.json() translate_result = result['translate Result'][0][0]["tgt"] self.info.delete(1.0, "end") # 输出翻译 # 内容前,先清空输出框的内容 self.info.insert('end', translate_result) # 将翻译结果添加到输出框中 except RequestException: self.info.insert('end', "发生错误") """定义一个函数,用于清空输出框的内容""" def cle(self): self.info.delete(1.0,"end") # 从第一行清除到 # 最后一行 """定义一个函数,用于清空输入框的内容""" def cle_e(self): self.input.delete(0, "end") def main(): t = Translate() t.gui_arrang() tk.mainloop() if __name__ == '__main__': main()

界面

Python链接有道翻译 python自带的翻译器_python_02



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有