鱼C论坛

 找回密码
 立即注册
查看: 4615|回复: 9

[作品展示] 70行代码- 桌面翻译组件

[复制链接]
发表于 2021-2-23 10:47:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 HZX0229 于 2021-2-23 11:10 编辑

代码如下
  1. import tkinter as tk
  2. from fanyi import get_result

  3. root = tk.Tk()
  4. root.geometry("200x80+1680+910")
  5. root.overrideredirect(True)
  6. root.attributes('-alpha', 0.4)

  7. image = tk.PhotoImage(file = 'sucai/8.png')
  8. thelabel = tk.Label(root, image = image, justify = 'left', compound = 'center')
  9. thelabel.place(relx = 0, rely = 0)

  10. entry = tk.Entry(root, bg = 'white', bd = 5, fg = 'purple',
  11.                  relief = 'sunken', highlightcolor = 'red', width = 22)
  12. entry.place(relx = 0, rely = 0)

  13. text = tk.Text(root, width = 22, height = 5, bd = 5, relief = 'sunken',
  14.                fg = 'purple')
  15. text.place(relx = 0, rely = 0.38)

  16. def callback(event):
  17.     text.insert('end', get_result(entry.get()))
  18. root.bind('<Return>', callback)

  19. def quit(event):
  20.     root.quit()
  21. root.bind('<Escape>', quit)

  22. def delete(event):
  23.     entry.delete(0, 'end')
  24.     text.delete(1.0, 'end')
  25. root.bind('<Tab>', delete)

  26. root.mainloop()
复制代码



核心代码:
  1. import urllib.request
  2. import urllib.parse
  3. import json
  4. import random

  5. def get_result(word):
  6.     url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
  7.     head = {}
  8.     head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
  9.     date = {}
  10.     date['i'] = str(word)
  11.     date['from'] = 'AUTO'
  12.     date['to'] = 'AUTO'
  13.     date['smartresult'] = 'dict'
  14.     date['client'] = 'fanyideskweb'
  15.     date['salt'] = '16098548777597'
  16.     date['sign'] = 'b5005a98f5487935fa6aa11c2fed0760'
  17.     date['lts'] = '1609854877759'
  18.     date['bv'] = 'b396e111b686137a6ec711ea651ad37c'
  19.     date['doctype'] = 'json'
  20.     date['version'] = '2.1'
  21.     date['keyfrom'] = 'fanyi.web'
  22.     date['action'] = 'FY_BY_CLICKBUTTION'
  23.     iplist = ['120.28.218.28:3128','110.78.175.145:8080','171.35.167.172:9999','175.42.68.37:9999','182.163.120.84:55443']
  24.     proxy_support = urllib.request.ProxyHandler({'https':random.choice(iplist)})
  25.     opener = urllib.request.build_opener(proxy_support)
  26.     urllib.request.install_opener(opener)
  27.     date = urllib.parse.urlencode(date).encode('utf-8')
  28.     req = urllib.request.Request(url,date,head)
  29.     response = urllib.request.urlopen(req)
  30.     html = response.read().decode('utf-8')
  31.     target = json.loads(html)
  32.     result = target['translateResult'][0][0]['tgt']
  33.     return result

  34. if __name__ == '__main__':
  35.     date = 'love'
  36.     result = get_result(date)
  37.     print(result)
复制代码


打包文件

效果如图右下角
屏幕截图(4).jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-23 13:57:59 From FishC Mobile | 显示全部楼层
如果有alpha浮动字符提示就更好了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-23 14:30:29 | 显示全部楼层
为什么下载后windows提示有病毒??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-23 14:56:31 | 显示全部楼层
Minecraft程序猿 发表于 2021-2-23 13:57
如果有alpha浮动字符提示就更好了

添加一个text文件,保存参数,运行之前读取就行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-23 16:34:01 From FishC Mobile | 显示全部楼层
allearn_Python 发表于 2021-2-23 14:30
为什么下载后windows提示有病毒??

是360的事吧...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-23 16:34:46 From FishC Mobile | 显示全部楼层
HZX0229 发表于 2021-2-23 14:56
添加一个text文件,保存参数,运行之前读取就行

我是说在上面加一个半透明的提示,比如"输入语句以翻译..."
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-23 16:58:20 | 显示全部楼层
Minecraft程序猿 发表于 2021-2-23 16:34
我是说在上面加一个半透明的提示,比如"输入语句以翻译..."

在上面加个label ,就很难看了,在entry这里插入又不方便操作
还是简洁好点, tkinter在这方面不太行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-23 18:15:28 From FishC Mobile | 显示全部楼层
HZX0229 发表于 2021-2-23 16:58
在上面加个label ,就很难看了,在entry这里插入又不方便操作
还是简洁好点, tkinter在这方面不太行

你可以用半透明图片的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 09:22:38 | 显示全部楼层

不是360啊,win10自带的防火墙隔离了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 13:18:29 From FishC Mobile | 显示全部楼层
allearn_Python 发表于 2021-2-25 09:22
不是360啊,win10自带的防火墙隔离了

让它运行就好了,不必担心它,把防火墙设置允许运行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-27 09:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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