首页 > 编程语言 >python Tkinter + 百度翻译API 制作翻译脚本

python Tkinter + 百度翻译API 制作翻译脚本

时间:2023-02-25 18:23:54浏览次数:44  
标签:翻译 Tkinter python inp result import trans root tk

import requests
import random
import json
import win32com.client
from hashlib import md5
import tkinter as tk

root = tk.Tk()
root.title("英语翻译")

root.geometry("600x300+630+80") # 乘号是小写字母x

btn1["text

添加 标签控件

label = tk.Label(root, text="")
label.grid()
text1 = tk.Text(root, width=35, height=10, state="normal")
text1.grid(row=1, column=1)

text2 = tk.Text(root, width=35, height=10, state="normal")
text2.grid(row=1, column=4)

def make_md5(s, encoding='utf-8'):
return md5(s.encode(encoding)).hexdigest()

def get():
inp = text1.get(1.0, 2.1)
print("你输入了:" + inp)
# appid = 'INPUT_YOUR_APPID'
appid = '10230128001541715'
appkey = 'IU0Ttt6lnOlNyKuoHH8y'
# appkey = 'INPUT_YOUR_APPKEY'

# For list of language codes, please refer to `https://api.fanyi.baidu.com/doc/21`
from_lang = 'en'
to_lang = 'zh'

endpoint = 'http://api.fanyi.baidu.com'
path = '/api/trans/vip/translate'
url = endpoint + path
query = inp

# Generate salt and sign
salt = random.randint(32768, 65536)
sign = make_md5(appid + query + str(salt) + appkey)

# Build request
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
payload = {'appid': appid, 'q': query, 'from': from_lang, 'to': to_lang, 'salt': salt, 'sign': sign}

# Send request
r = requests.post(url, params=payload, headers=headers)
result = r.json()
# print(result)
trans_result = result['trans_result'][0]['dst']
print('trans_result:', trans_result)

# Show response
# print(json.dumps(result, indent=4, ensure_ascii=False))
text2.delete(1.0, "end")
text2.insert(2.0, trans_result)
return 0

def get2():
inp = text1.get(1.0, 2.1)
# print("你输入了:" + inp)
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak(inp)

btn1 = tk.Button(root, text="翻译:", command=get)
btn1.grid(row=1, column=2)
btn2 = tk.Button(root, text="发音:", command=get2)
btn2.grid(row=1, column=3)

root.mainloop()

标签:翻译,Tkinter,python,inp,result,import,trans,root,tk
From: https://www.cnblogs.com/niucunguo/p/17154950.html

相关文章

  • python项目-抽奖
    给开会做的一个摇人程序 importtkinterfilename='members.txt'members=[]withopen(filename,'r',encoding='utf-8')asf:c=f.readlines()foriinc:......
  • python-flask之helloworld
    python环境安装:python3.10python工具安装:pycharm社区版安装flask可以用pipinstallflask安装;也可以直接在pycharm中输入fromflaskimportFlask后点击安装。编......
  • Windows下Python仪器仪表编程环境搭建
    1工具列表Python3及其程序库pyvisaPython3下载IOSuiteLibraries下载2下载Python3安装需要勾选“AddPython3.10toPATH”,其他都可以默认安装。pyvisa安装......
  • 【python】random库使用
    import首先要importrandom随机生成数生成随机浮点数random.random():返回随机生成的一个浮点数,范围在[0,1)之间np.random.rand(d0,d1,…,dn):返回一个或一组浮......
  • Python Struct 处理网络字节流
    背景因为websocket请求/返回均需要处理字节流现返回基本能正常处理,但请求字段及加密方式与业务紧密相关,抓着开发大佬问了几遍,有点头疼 Python中的struct模块pac......
  • 用Python绘图(数据分析与挖掘实战)
    代码1:餐饮日销额数据异常值检测(箱型图)importpandasaspdimportnumpyasnpcatering_sale="D:\\360MoveData\\Users\\86130\\Documents\\TencentFiles\\226875669......
  • python笔记--在文件进行输出
    将print的内容输出到文件中1#将数据输出到文件中2fp=open('E:/text1.txt','a+')3print('helloword',file=fp)4fp.close()  1#不进行换行输出(在一行输出......
  • 2023.8 Java与Python
    Java与Python都一直在各种流行编程语言中名列前茅,也有很多相似之处。作为技术人员,我们不能把自己局限在某一项技术或编程语言中,而应该能针对具体场景快速选择适合的技术解......
  • Python 部署私有 pip 库
    Python部署私有pip库本教程使用的是pypiserver这个Python包,其文档见:https://pypi.org/project/pypiserver/,Github地址:https://github.com/pypiserver/pypiserver......
  • Python学习笔记(五)if分支语句
    一、if语法示例:1money=int(input('请输入余额:'))2ifmoney>=5:3print('买得起!')45ifTrue:6print('条件成立时要执行的代码1')7print('条......