猫史档案馆


【Python作品分享】小白翻译器【作品秀】

用户:憨憨白熊憨憨白熊查看:1 回复:2 评论:1 创建时间:2020-06-08T21:04:57


【作品展示】

center_image

 

【作品介绍】

中英互相可以翻译哦

 

【作品源代码】

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='圣天伊.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['translateResult'][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()
import requests

string = str(input("请输入一段要翻译的文字:"))
data = {
'doctype': 'json',
'type': 'AUTO',
'i':string
}
url = "http://fanyi.youdao.com/translate"
r = requests.get(url,params=data)
result = r.json()
print(result)
translate_result = result['translateResult'][0][0]["tgt"]
print(translate_result)

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页

沙发

点赞0


评论


SKQASKQA

板凳

点赞0


评论