下面三个是我参考到的博主的博文,大家有兴趣也可以去了解一下,我在他们的基础上加入了我自己的一些想法,程序也做得更合我心意。感谢这几位博主。
GUI使用教程
翻译程序的博文
GUI以及封装博文

前期准备:
注册一个百度API的账号,并获取里面的APP ID和密匙,在下面的代码中加入即可。
程序源码如下

#百度翻译程序版.py
#@author:海hong啊
#接入百度翻译API,进行个人需要的翻译功能的GUI界面,并最后生成桌面程序
from tkinter import *
from tkinter import ttk
from tkinter.messagebox import *
import tkinter as tk
import urllib.request
import urllib.parse
import json
import hashlib
import time, re, randomclass user(Frame):'''wb = xlwt.Workbook()wb_xlsx = wb.add_sheet('翻译程序记录', cell_overwrite_ok = True)raw = ['源语言', '目标语言']for i in range(len(raw)):wb_xlsx.write(0, i, raw[i])'''"""docstring for user"""def __init__(self, root):frame = Frame(root)frame.place(x = 0, y = 0, width = 400, height = 400)cho_bef = tk.StringVar()cho_aft = tk.StringVar()self.lab1 = Label(frame, text = '输入')self.lab2 = Label(frame, text = '译文')self.lab3 = Label(frame, text = '源语言')self.lab4 = Label(frame, text = '目标语言')self.en1 = Entry(frame, width = 40) #输入框self.en2 = Text(frame, width = 40, height = 7) #翻译框self.choice1 = ttk.Combobox(frame, width = 10, textvariable = cho_bef)self.choice2 = ttk.Combobox(frame, width = 10, textvariable = cho_aft)self.but1 = Button(frame, text = '翻译', command = self.translate)self.but2 = Button(frame, text = '重置', command = self.clean)self.place()self.displaying = Falsedef clean(self):self.en1.delete(0.0, END)self.en2.delete(0.0, END)def translate(self):#print('翻译')content = self.en1.get()print(content)from_lang = self.choice1.get()to_lang = self.choice2.get()language_match = {'自动检测': 'auto','中文': 'zh','英语': 'en','粤语': 'yue','文言文': 'wyw','日语': 'jp','韩语': 'kor','繁体中文': 'cht'}from_lang = language_match.get(from_lang, 'en')to_lang = language_match.get(to_lang, 'zh')salt = '666'appid = ''secret_key = ''#REQUEST_FAILED = -1url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'MD5_str = appid + content + salt + secret_keym2 = hashlib.md5()m2.update(MD5_str.encode('utf-8'))data = {}data['appid'] = appiddata['salt'] = saltdata['from'] = from_langdata['to'] = to_langdata['q'] = contentdata['sign'] = m2.hexdigest()print(data)self.en2.delete(0.0, END) #清空译文框data = urllib.parse.urlencode(data).encode('utf-8')response = urllib.request.urlopen(url, data)html = response.read().decode('utf-8')target = json.loads(html)print(target)self.en2.insert('insert', target['trans_result'][0]['dst'])print('翻译成功')f = open('翻译程序日志.txt', 'a+', encoding = 'utf-8')f.write(target['trans_result'][0]['src'])f.write('\n')f.write(target['trans_result'][0]['dst'])f.write('\n')f.write('__________' * 5)f.write('\n')f.close()#部件单独在这里摆放def place(self):self.choice1['values'] = ('自动检测', '英语', '中文', '日语', '文言文', '粤语', '韩语', '繁体中文')self.choice2['values'] = ('中文', '英语', '日语', '文言文', '粤语', '韩语', '繁体中文')self.choice1.current(1)self.choice2.current(1)self.choice1.place(x = 90, y = 300)self.choice2.place(x = 300, y = 300)self.lab1.place(x = 20, y = 20)self.lab2.place(x = 20, y = 150)self.lab3.place(x = 50, y = 300)self.lab4.place(x = 250, y = 300)self.en1.place(x = 100, y = 20)self.en2.place(x = 100, y = 120)self.but1.place(x = 120, y = 250)self.but2.place(x = 300, y = 250)def use():root = Tk()root.title('翻译')#设置窗口尺寸ws = root.winfo_screenwidth()hs = root.winfo_screenheight()w = 450h = 400x = (ws/2) - (w/2)y = (hs/2) - (h/2)root.geometry('%dx%d+%d+%d' % (w, h, x, y))root.resizable(width = False, height = False)new_user = user(root)root.mainloop()if __name__ == '__main__':use()

最后对其进行安装包打包,用到的是pyinstaller库。这个库需要pip安装。
我使用到的命令是pyinstaller -F 百度翻译程序版.py

利用百度API写出自己的桌面翻译器相关推荐

  1. 将手绘地图或自制地图显示在网页上(利用百度API)

    利用百度APi实现将手绘地图展示在网页上,达到类似这样的效果: 切图参考了:cnblog jz1108 并用了其工具, 表示非常感谢! 百度地图API目前默认支持两种地图类型(map type):普通 ...

  2. 爬取去哪儿网酒店信息,再利用百度API将酒店地址的经纬度爬取!

    Python3 的 selenium库可以模拟打开页面,获得加载完成的页面信息,一些基本用法,请自行度娘,就不再赘述了 1.将某城市的所有酒店链接爬取下来. 先打开两个酒店页面 ** https:// ...

  3. 利用百度API Store接口进行火车票查询

    火车票查询 项目源码下载链接: Github:https://github.com/VincentWYJ/TrainTicketQuery 博客文件:http://files.cnblogs.com/ ...

  4. css3三角形兼容_利用css3特性写出三角形(兼容IE浏览器)

    利用CSS写出三角形的效果 效果如图: 代码如下: .triangle-up { width:0px; height:0px; border-left:10px solid transparent; ...

  5. 利用百度API查询手机号归属地

    利用百度Api查询手机号归属地 先到百度API官网查看其有关说明,这是其官网:http://apistore.baidu.com/ 可在此页面找到相关说明. 打开网址可以看到好几个号码归属地的查询,有 ...

  6. 用js写出数据结构中的自定义队列,利用队列思想写出一个击鼓传花的游戏函数,优先级队列

    队列的核心是先进先出 1.用js写出数据结构中的自定义队列 class Queue{constructor(){this.item = [];}// 1.入队enqueue(ele){this.ite ...

  7. c语言写字符个数,利用c语言写出并判断字符的个数

    /* 题目1: 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 我的思路: 首先利用if语句写出是什么字符,然后,再用其统计个数,最后在写上到什么时候截止 定义四个变量 . */ ...

  8. php调用百度接口获取经纬度,利用百度API(js),通过地址获取经纬度的注意事项...

    网上给的很多答案都是这种: http://api.map.baidu.com/geocoder?address=地址&output=输出格式类型&key=用户密钥&city=城 ...

  9. 微信小程序利用百度api达成植物识别

    看完本文你可学会: 如何使用百度智能云 如何在微信小程序中去接入百度api,达成植物识别的效果 如何使用百度智能云? 官网:https://cloud.baidu.com 进入官网,在用户中心下选择图 ...

最新文章

  1. 回归——同步更新github.io
  2. Spring Cloud第十三篇: 断路器聚合监控(Hystrix Turbine)
  3. three20 阅读到的代码
  4. SSG140 web、telnet、ssh无法访问,仅支持console
  5. 有关eigen库的一些基本使用方法
  6. jQuery Mobile 1.1八大新特性介绍
  7. 中药免疫肿瘤学数据库,TCMIO使用指南
  8. python3.4.4怎么用_python3.4使用文件
  9. kettle mysql 分页_kettle 分页抽数
  10. 设备无法获得谷歌运行怎么办_因此,您刚刚获得了Google主页。 怎么办?
  11. python-main
  12. 美国人竟然是这样教育小学
  13. POJ 2991 Crane
  14. 【Gym - 101234J】Zero Game【单调队列】
  15. Nacos整合SpringCloud的自动注册原理
  16. Win10 LTSB 2016 激活
  17. 16种常用的数据分析方法-相关分析
  18. 往超级表格导入Excel,让数据处理不再繁杂!
  19. 伦敦银走势分析最新,十大国际黄金白银交易平台排名
  20. 风险预测模型评价第二弹:NRI的R语言计算

热门文章

  1. 效率提升:用 Notion 实现个人任务管理监控
  2. Unity技术手册 - 形状(Shape)子模块 - Sprite、SpriteRenderer及生命周期内速度(Velocity over Lifetime)
  3. 芥川龙之介《罗生门》
  4. UTF-8/UTF-16/UTF-32、Unicode和GB18030编码的关系
  5. 企业媒体公关与媒体交谈时需要注意什么
  6. MTK的KK版本修改键盘切换多语言
  7. 【剑指Offer(专项突破)】002. 二进制加法(Java实现) 详细解析
  8. 利用gcc自带的功能-fstack-protector检测栈溢出及其实现【转】
  9. HTML中注释写法 CSS中注释写法,CSS注解语法,HTML中CSS注释
  10. php xhprof extension,php xhprof使用实例详解