背景: 为了准备联创Lab组的面试, 我准备啃一啃MIT6.824分布式课程, 但是...
还是有好多单词不认识哇, 你说用google翻译吧, 就像下图这样子

这个网页是在是太占空间了, 挡到了好多东西... 我这个强迫症受不了( •̀ ω •́ )✧
于是想起以前学习python的时候好像写过一个翻译器, 便拿过来稍作修改, 已解决现在的困境(我需要一个很小的浮窗翻译器)
当当当当, 一条命令直接启动

下面来看效果图, 还是很好用的捏

下面开箱一下源代码
其实很简单4不4
注意: 用到了百度翻译的API哟
from urllib import request
from urllib import parse
import json
import hashlib
def translate_Word(en_str):
URL = "http://api.fanyi.baidu.com/api/trans/vip/translate"
Form_Data = {}
Form_Data['from'] = 'en'
Form_Data['to'] = 'zh'
Form_Data['q'] = en_str
Form_Data['appid'] = #申请的APP ID
Form_Data['salt'] =
key = #平台分配的秘钥
m = Form_Data['appid'] + en_str + Form_Data['salt'] + key
m_MD5 = hashlib.md5(m.encode("utf-8"))
Form_Data['sign'] = m_MD5.hexdigest()
#使用urlencode方法转换为标准格式
data = parse.urlencode(Form_Data).encode("utf-8")
response = request.urlopen(URL,data)
html = response.read().decode("utf-8")#读取信息并解码
translate_results = json.loads(html)#使用JSON
print(translate_results)#打印出JSON数据
#找到翻译结果
translate_results = translate_results['trans_result'][0]['dst']
print("翻译的结果是:%s"%translate_results)#打印翻译信息
return translate_results
def leftClick(event):
#获取要翻译的内容
en_str = Entry1.get()
print(en_str)
vText = translate_Word(en_str)
Entry2.config(Entry2,text=vText)#修改翻译结果框文字
s.set("")
Entry2.insert(0,vText)
def leftClick2(event):
s.set("")
Entry1.delete(0, 100)
Entry2.delete(0, 100)
Entry2.insert(0,"")
#%%
#前面预备知识准备好了,现在开始本程序的设计
#第一步,设计界面
import tkinter as tk
root = tk.Tk()
root.title("单词翻译器")
#设置它的宽和高
root['width'] = 250
root['height'] = 130
lab1 = tk.Label(root,text="输入要翻译的内容",width=15)
lab1.place(x=1,y=1)#绝对坐标
lab2 = tk.Label(root,text="翻译的结果",width=15)
lab2.place(x=1,y=20)
s = tk.StringVar()#创建一个stringvar对象
Entry1 = tk.Entry(root,width=20)
Entry1.place(x=110,y=1)
Entry2 = tk.Entry(root,width=20,textvariable=s)
Entry2.place(x=110,y=20)
Button1 = tk.Button(root,text="翻译",width=8)
Button1.place(x=40,y=80)
Button2 = tk.Button(root,text="清空",width=8)
Button2.place(x=110,y=80)
#给Button绑定鼠标监听事件
Button1.bind("<Button-1>",leftClick)#翻译按钮
Button2.bind("<Button-1>",leftClick2)#清空按钮
root.mainloop()