python运行界面英文翻译_python GUI图形界面tkinter:实现有道翻译小案例

#实现模拟有道翻译#coding:utf-8

from tkinter import *

importrequests#有道翻译

classYouDao:def __init__(self):pass

deffanyi(self, content):#translate_o改成translate,可防止返回:{'errorCode': 50}

#url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'headers={'referer': 'http://fanyi.youdao.com/','user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 OPR/65.0.3467.78 (Edition Baidu)'}

data={'i': content,'from': 'AUTO','to': 'AUTO','smartresult': 'dict','client': 'fanyideskweb','salt': '15791434983359','sign': '4c3ba7ac1aefe25a7e0f6780c3f08512','ts': '1579143498335','bv': '120ea3adb00787750fbc44dd1af54b88','doctype': 'json','version': '2.1','keyfrom': 'fanyi.web','action': 'FY_BY_REALTlME',

}

res= requests.post(url, headers=headers, data=data)if res.status_code == 200:

result=res.json()if 'translateResult' inresult:return result['translateResult'][0][0]['tgt']else:returnresultelse:return '请求失败'

#界面

classApplication:def __init__(self):

self.youdao=YouDao()#创建窗口对象

self.window =Tk()#窗口对象的标题

self.window.title(u'我的程序')#设置窗口的大小和位置(宽:310,高:370,坐标:500,300)

self.window.geometry("310x370+500+300")

self.window.minsize(310,370)

self.window.maxsize(310,370)#创建一个文本框

#self.text1 = Text(self.window, background='azure')

self.text1 = Text(self.window, background='#ccc', foreground='black')

self.text1.place(x=10, y=5, width=290, height=165) #设置位置坐标和大小

self.text1.bind('', self.text1_event) #绑定键盘回车键事件

#创建提示标题

self.label1 = Label(self.window, text=u'翻译结果:')

self.label1.place(x=10, y=175)#创建按钮

self.btn1 = Button(self.window, text='翻译', command=self.btn1_event)

self.btn1.place(x=220, y=175, width=35, height=25)

self.btn2= Button(self.window, text='清空', command=self.btn2_event)

self.btn2.place(x=263, y=175, width=35, height=25)#创建结果文本框

self.text2 = Text(self.window, background='black', foreground='white')

self.text2.place(x=10, y=205, width=290, height=165)#text1 监听回车事件

deftext1_event(self, event):#获取用户输入的值

content = self.text1.get(0.0, END).strip().replace('\n', ' ')print(content)#进行翻译

result =self.youdao.fanyi(content)#填写结果到结果输入框

self.text2.delete(0.0, END)

self.text2.insert(END, result)#btn1 翻译事件

defbtn1_event(self):#获取用户输入的值

content = self.text1.get(0.0, END).strip().replace('\n', ' ')print(content)#进行翻译

result =self.youdao.fanyi(content)#填写结果到结果输入框

self.text2.delete(0.0, END)

self.text2.insert(END, result)#btn2 清空事件

defbtn2_event(self):#清空文本框的内容

self.text1.delete(0.0, END)

self.text2.delete(0.0, END)defrun(self):#进入循环

self.window.mainloop()if __name__ == '__main__':

app=Application()

app.run()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值