鱼C论坛

 找回密码
 立即注册
查看: 3590|回复: 5

[技术交流] 巨好用的翻译工具,需要改进,求助攻,找bug

[复制链接]
发表于 2017-10-5 19:44:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
功能:翻译(爬取有道词典的)
特色:
        1、窗口小,不占位置
        2、窗口保持置顶,随时点击使用
        3、窗口打开位置在浏览器的网址栏,不会影响其他操作
捕获.JPG

输入要翻译的内容点回车就可以在后面看到结果了

见附件:translate.pyw
代码:
  1. import urllib.request
  2. import urllib.parse
  3. import json
  4. from tkinter import*


  5. root = Tk()
  6. root.wm_attributes('-topmost',1)
  7. root.geometry('+1300+40')
  8. root.minsize(300,10)

  9. result = ('<---请输入需要翻译的内容')
  10. #输出翻译
  11. get = Label(root,text=result)
  12. get.pack(side=RIGHT)


  13. def translate(event=None):
  14.     url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom="
  15.     head = {}
  16.     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'
  17.     data = {}
  18.    
  19.     data['i'] = post_text.get()
  20.     data['from'] = 'AUTO'
  21.     data['to'] = 'AUTO'
  22.     data['smartresult'] = 'dict'
  23.     data['client'] = 'fanyideskweb'
  24.     data['salt'] = '1504859416218'
  25.     data['sign'] = '54d324206580658df5cf8839219bd7c1'
  26.     data['doctype'] = 'json'
  27.     data['version'] = '2.1'
  28.     data['keyfrom'] = 'fanyi.web'
  29.     data['action'] = 'FY_BY_CLICKBUTTION'
  30.     data['typoResult'] = 'true'
  31.     data = urllib.parse.urlencode(data).encode('utf-8')
  32.     response = urllib.request.urlopen(url,data)
  33.     html = response.read().decode('utf-8')
  34.     target = json.loads(html)
  35.     result = target['translateResult'][0][0]['tgt']
  36.     #print(result)
  37.     get['text'] = result

  38.    
  39. #输入文字
  40. post_text = StringVar()
  41. post = Entry(root,validate='key',textvariable=post_text)
  42. post.focus_set()
  43. post.pack(side=LEFT,padx=5,pady=5)
  44. post.bind('<Return>',translate)


  45. root.mainloop()

复制代码



求助攻:
1、我想改成输入完后自动出结果,就是不用按回车,所以把执行命令方式由<Return>改为<KeyRelease>,但是在Entry为空的时候输入会报错,虽然可以实现我想要的结果,但是多次输入后程序就会卡死。

        试过修改这个bug,加入一个判断语句,如果Entry不为空再执行KeyRelease后的命令,但是无效,也没找到为什么无效,所以希望大家帮帮忙。

见附件:AnyKey.pyw

2、让界面不要显示任何按钮,如图:
捕获2.0.jpg


附件: tr.zip (1.91 KB, 下载次数: 5)

评分

参与人数 1荣誉 +6 鱼币 +6 收起 理由
新手·ing + 6 + 6

查看全部评分

本帖被以下淘专辑推荐:

  • · python|主题: 62, 订阅: 4
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-10-5 20:52:14 | 显示全部楼层
非常感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-5 21:12:50 | 显示全部楼层
厉害厉害,结合起来更高大上了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-6 11:17:24 | 显示全部楼层
厉害,学习一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-15 06:03:35 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-23 20:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表