造轮子之DIY迷你翻译器|项目复盘

429 阅读2分钟

作者:看那个码农

公众号:看那个码农

1.项目简介

生活工作中,常常会去网上翻译一些单词,

既然如此,何不利用Python制作一款适合自己的翻译小工具。

image.png

迷你翻译小工具demo复盘

功能:

  • 翻译

image.png

  • 用txt文档保存翻译信息

image.png

  • 清空页面

image.png

2.项目配置

  • Python3.x
  • requests库
  • tkinter库

requests库主要是用来获取有道词典翻译页面的post信息

tkinter库主要是用来制作小程序的GUI界面,当然此处也可以选择使用Pyqt5

3.项目流程

1.导入相关模块

import requests
from requests.exceptions import RequestException
import tkinter as tk

2.定义翻译函数

def translate():
    #定义此变量,用来接收输入文本框的值
    str1 = text1.get()

    #将文本框的值赋给接口参数
    data={
        'doctype':'json',
        'type':'Auto',
        'i':str1
    }

    #调用有道词典
    url = "http://fanyi.youdao.com/translate"

    try:
        r=requests.get(url,params=data)
        if r.status_code == 200:
            result = r.json()
            translate_result =result['translateResult'][0][0]["tgt"]
            text2.delete(1.0,"end")
            text2.insert('end',translate_result)
    except RequestException:
        text2.insert('end',"发生错误")

3.定义保存函数

def write():
    f1 = open('E:/demo/tran/save.txt','a+')
    f1.write(text1.get()+','+text2.get(0.0,tk.END))

4.定义清空函数

def delete():
    text1.delete(0,"end")
    text2.delete(1.0,"end")

5.GUI窗口的设计

window=tk.Tk()
window.title("看那个码农翻译器")

1.创建界面文本框的尺寸与颜色

text1 = tk.Entry(window,width=80,bg='whitesmoke')
text2 = tk.Text(window,height=18,bg='lightgrey')

text1.grid(row=0,sticky="W",padx=1)
text2.grid(row=1)

2.创建界面文本框的尺寸与颜色

t_button = tk.Button(window,text='翻译',relief=tk.RAISED,width=8,height=1,font='宋体',bg='red',fg='white',command=translate)
button1=tk.Button(window,text='保存',relief=tk.RAISED,width=8,height=1,font='宋体',command=write)
button2=tk.Button(window,text='清空',relief=tk.RAISED,width=8,height=1,font='宋体',command=delete)

3.创建背景图片

image_file = tk.PhotoImage(file='1.jpg')
label = tk.Label(window,image=image_file)

4.完成最终界面的布局,设置各个控件的具体位置

t_button.grid(row=0,column=1,padx=2)
button1.grid(row=0,column=2,padx=2)
button2.grid(row=0,column=3,padx=2)
label.grid(row=1,column=1,columnspan=3)

tk.mainloop()

5.运行程序

image.png

4.项目总结与思考

本项目中使用了Python的2个常用库,requests与tkinter库,实现了翻译,保存,清空,以及GUI展示的功能,该demo一方面展示了tkinter创建GUI界面的过程,另一方面展示了requests库获取Web页面post信息的流程,对于加深Python的基础学习可以起到一定的帮助与理解作用。

如果你觉得这篇内容对你有帮助的话:

1、点赞支持下吧,让更多的人也能看到这篇内容

2、关注公众号:看那个码农,我们一起学习一起进步。

本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情