| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
功能:翻译(爬取有道词典的) 
特色: 
        1、窗口小,不占位置 
        2、窗口保持置顶,随时点击使用 
        3、窗口打开位置在浏览器的网址栏,不会影响其他操作 
 
 
 
输入要翻译的内容点回车就可以在后面看到结果了 
 
见附件:translate.pyw 
代码: 
- import urllib.request
 
 - import urllib.parse
 
 - import json
 
 - from tkinter import*
 
  
 
- root = Tk()
 
 - root.wm_attributes('-topmost',1)
 
 - root.geometry('+1300+40')
 
 - root.minsize(300,10)
 
  
- result = ('<---请输入需要翻译的内容')
 
 - #输出翻译
 
 - get = Label(root,text=result)
 
 - get.pack(side=RIGHT)
 
  
 
- def translate(event=None):
 
 -     url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom="
 
 -     head = {}
 
 -     head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'
 
 -     data = {}
 
 -     
 
 -     data['i'] = post_text.get()
 
 -     data['from'] = 'AUTO'
 
 -     data['to'] = 'AUTO'
 
 -     data['smartresult'] = 'dict'
 
 -     data['client'] = 'fanyideskweb'
 
 -     data['salt'] = '1504859416218'
 
 -     data['sign'] = '54d324206580658df5cf8839219bd7c1'
 
 -     data['doctype'] = 'json'
 
 -     data['version'] = '2.1'
 
 -     data['keyfrom'] = 'fanyi.web'
 
 -     data['action'] = 'FY_BY_CLICKBUTTION'
 
 -     data['typoResult'] = 'true'
 
 -     data = urllib.parse.urlencode(data).encode('utf-8')
 
 -     response = urllib.request.urlopen(url,data)
 
 -     html = response.read().decode('utf-8')
 
 -     target = json.loads(html)
 
 -     result = target['translateResult'][0][0]['tgt']
 
 -     #print(result)
 
 -     get['text'] = result
 
  
-     
 
 - #输入文字
 
 - post_text = StringVar()
 
 - post = Entry(root,validate='key',textvariable=post_text)
 
 - post.focus_set()
 
 - post.pack(side=LEFT,padx=5,pady=5)
 
 - post.bind('<Return>',translate)
 
  
 
- root.mainloop()
 
  
  复制代码 
 
 
求助攻: 
1、我想改成输入完后自动出结果,就是不用按回车,所以把执行命令方式由<Return>改为<KeyRelease>,但是在Entry为空的时候输入会报错,虽然可以实现我想要的结果,但是多次输入后程序就会卡死。 
 
        试过修改这个bug,加入一个判断语句,如果Entry不为空再执行KeyRelease后的命令,但是无效,也没找到为什么无效,所以希望大家帮帮忙。 
 
见附件:AnyKey.pyw 
 
2、让界面不要显示任何按钮,如图: 
 
 
 
 
附件:
 
tr.zip
(1.91 KB, 下载次数: 5)
 
 
 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |