python安装界面翻译_python之做一个简易的翻译器(一)

#-*- coding:utf-8 -*-

importrequestsfrom requests.exceptions importRequestExceptionimporttkinter as tkclassTranslate():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='py128.png')

self.label_image= tk.Label(self.window, image=self.image_file)defgui_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)deffanyi(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) #将翻译结果添加到输出框中

exceptRequestException:

self.info.insert('end', "发生错误")defcle(self):"""定义一个函数,用于清空输出框的内容"""self.info.delete(1.0,"end") #从第一行清除到最后一行

defcle_e(self):"""定义一个函数,用于清空输入框的内容"""self.input.delete(0,"end")defmain():

t=Translate()

t.gui_arrang()

tk.mainloop()if __name__ == '__main__':

main()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值