python带界面的有道翻译小程序
时间: 2024-01-19 19:10:27 浏览: 75
可以使用Python的GUI库Tkinter来编写一个简单的有道翻译小程序。以下是一个基本的示例代码:
```python
import tkinter as tk
import requests
import json
def translate(word):
# 请求有道翻译API
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
data = {
'i': word,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '1504518855641',
'sign': '15b4d6f4e9e50b3b43a7c6ce6ba3c6f8',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_CLICKBUTTON',
'typoResult': 'true'
}
response = requests.post(url, headers=headers, data=data)
result = json.loads(response.text)
return result['translateResult'][0][0]['tgt']
def translate_word():
# 获取输入框中的文本
word = entry.get()
# 调用翻译函数
result = translate(word)
# 在输出框中显示翻译结果
text.delete(1.0, tk.END)
text.insert(tk.END, result)
# 创建主窗口
root = tk.Tk()
root.title('有道翻译')
# 创建输入框和按钮
entry = tk.Entry(root, width=30)
entry.pack(padx=10, pady=10)
button = tk.Button(root, text='翻译', command=translate_word)
button.pack(padx=10, pady=5)
# 创建输出框
text = tk.Text(root, width=30, height=5)
text.pack(padx=10, pady=10)
# 进入消息循环
root.mainloop()
```
该程序使用requests库向有道翻译API发送POST请求,获取翻译结果,并使用Tkinter创建了一个简单的GUI界面。用户输入需要翻译的单词或句子,点击翻译按钮后,程序会返回翻译结果并在输出框中显示。
阅读全文