99行代码搞出GUI翻译器

  • 1、引言
  • 2、代码实战
    • 2.1 思路
    • 2.2 实战
  • 3、总结

1、引言

小屌丝:鱼哥,你说百度翻译的准确,还是google翻译的准确?
小鱼:自己翻译的最准确。
小屌丝:你这… 抬杠。
小鱼:没有啊,英语自己就能翻译,还需要啥翻译软件
小屌丝:如果是俄语,意大利语,西班牙语呢?
小鱼:你这是…抬杠。
小屌丝:也没有啊,我就是觉得网页版翻译器太麻烦了。
小鱼:早说啊,我这有现成的翻译器。
小屌丝:嗯?? 你下载的是什么翻译器?
小鱼:你觉得我会下载吗?
小屌丝:嗯,确实,那就是说,你自己写了一个呗?
小鱼:你答对了。
小屌丝:那赶紧share一下啊。
小鱼:晒就晒,正好今天阳光明媚的。

2、代码实战

2.1 思路

我们写的GUI翻译器,思路:

  • 构建url地址;
  • 构建语言种类;
  • GUI界面的搭建;
  • 触发GUI界面功能操作;

这里提示一下,我们是通过 PySimpleGUI 来进行构建的。
小屌丝:什么是PySimpleGUI呢?
小鱼:一句话,PySimpleGUI 就是GUI工具包,用于创建GUI的。
小屌丝:果然是够简单,那看代码吧。

2.2 实战

由于内容并不复杂,所以,直接上代码。
代码展示

#-*- coding: utf-8 -*-
# @Time   : 2022-07-27
# @Author : carl_DJimport re
import html
from urllib import parse
import requests
import PySimpleGUI as sg'构建爬虫'
#url 为google自动翻译地址
url = 'http://translate.google.cn/m?q=%s&tl=%s&sl=%s''构建翻译函数'
#text:需要翻译的内容, to_language:目标语言类型, text_language:当前语言类型。
def translate(text,to_language = 'en',text_language = 'auto'):text = parse.quote(text)url1 = url % (text,to_language,text_language)repsonse = requests.get(url1)data = repsonse.textprint(f'输出内容:{data}')expr = r'(?s)class="(?:t0|result-container)">(.*?)<'result = re.findall(expr,data)print(f'{result}')if (len(result) == 0):return ""return  html.unescape(result[0])'GUI搭建'
#设置主题
sg.theme('bluepurple')
#设置字体
font = ("fangsong",12)
#菜单栏设置
menu = [["Help",["About","Item","Author"]]]
#语言选择(前端显示),默认只有6种,可以自己添加
value = ['汉语','英语','日语','法语','俄语','自动']
# 语言选择(后端执行时)
var = ['zh','en','ja','fr','ru','auto']
# 语言字典配置
dic = dict(zip(value,var))
#GUI布局
layout = [[sg.Menu(menu,tearoff=False)],[sg.Text(text='输入需要翻译内容',size=(26,1)),sg.Text(text='将',size=(2,1),justification='center'),sg.Combo(values=value,key='from',size=(10,1)),sg.Text(text='翻译为',size=(5,1),justification='center'),sg.Combo(values=value,key='to',size=(10,1))],[sg.Multiline(key='-IN-',size=(60,8),font=font)],[sg.Text(text='翻译结果',size=(30,1),font=font)],[sg.Multiline(key='-OUT-',size=(60,8),font=font)],[sg.Text(text='',size=(36,1)),sg.Button("翻译",size=(6,1)),sg.Button("清除",size=(6,1)),sg.Button("退出",size=(6,1))]]
# 设置窗口名称,窗口布局,以及图标
window = sg.Window("桌面翻译器",layout,icon='CT.ico')'逻辑语句执行'
while True:#定义 事件 event, 返回值 valuesevent,values = window.read()#点击“X”或者“退出”按钮时才退出if event in (None,"退出"):break#点击 翻译 按钮if event == "翻译":if values["to"] == '' or values["from"] =='':sg.Popup("请选择语言后再重试")else:tar = translate(values["-IN-"],dic[values["to"]],dic[values["from"]])window["-OUT-"].Update(tar)#点击 清除 按钮if event =="清除":window["-IN-"].update("")window["-OUT-"].update("")if event == "About":#Popup 提示弹窗,给出提示信息sg.Popup("使用方法:","'翻译'确认输入,并输出翻译结果","'清除'清除已有输入,清空翻译的结果","'退出'取消,并退出App",title='', font = font, auto_close = 1)if event == "Item":sg.Popup("翻译类型:","'输入类型' 输入的语言类型","'输出类型' 输出的语言类型",title = '', font = font, auto_close = 1)if event == "Author":sg.Popup("作者简介:","姓名:XXXXXX","Wechat:XXXXXX","E-mail:XXXXXX@qq.com", title='', font=font, auto_close=1)window.close()

运行结果

3、总结

看到这里,今天的分享差不多就要结束了。
关于PySimpleGUI 的介绍,也就差不多了。
今天更多的是通过PySimpleGUI 来搞定翻译器,既锻炼了撸码能力,
有节省了每次百度翻译/google翻译花费的时间。

关于PySimpleGUI 更多功能,可以移步官网。
小鱼就不过多的介绍了。

最后,再唠叨一句:
关注小鱼,带你学习更多更有趣的python知识。

Python3,为了考研,我用了9.9行代码,搞出一个GUI翻译器,从此再也不用百度翻译了。相关推荐

  1. Python3,1行代码,制作GUI图形界面,果然被种草了。

    1行代码制作GUI 1.引言 2.代码实战 2.1 安装 2.2 功能介绍 2.2.1 选择文件夹 2.2.2 选择文件 2.2.3 选择日期 2.2.4 输入文本 2.2.5 弹窗显示 2.2.6 ...

  2. python3读取excel数据-Python3读取和写入excel表格数据的示例代码

    python操作excel主要用到 xlrd 和 xlwt 这两个库,xlrd读取excel表格数据, 支持 xlsx和xls格式的excel表格 :xlwt写入excel表格数据: 一.python ...

  3. python3命令需要使用命令行开发者工具_关于Python3的import问题(pycharm可以运行命令行import错误)...

    以前从来没有写过特别多的代码,这次在阅读论文的时候跑别人的代码的时候出现了很多import的问题,这里我想跟大家分享一下,我在Ubuntu系统,使用的是anaconda3,版本为3.6,我一般会在py ...

  4. Python3实现从txt文件中读取指定行的方法

    Python3实现从txt文件中读取指定行的方法 本文实例讲述了Python3实现从文件中读取指定行的方法.分享给大家供大家参考.具体实现方法如下: def getline(the_file_path ...

  5. Python3,5行代码让电脑永不息屏。

    5行代码禁止电脑息屏 1.引言 2.电脑永不息屏的两种方法 2.1 电脑手动方式 2.2 代码方式 2.2.1 安装 2.2.2 代码实战 1.引言 小屌丝:鱼哥,按照公司规定,我的电脑锁屏时间是5分 ...

  6. Python3,2行代码添加水印,发朋友圈,图片再也不怕被盗了!!!

    2行代码添加水印 1.引言 2.filestools介绍 2.1 安装 2.2 filestools 功能介绍 2.3 watermarker模块介绍 2.3 代码实例 1.引言 小屌丝:鱼哥,这个周 ...

  7. Python3 图片文字识别翻译——调用百度AI、百度翻译和有道翻译的API

    文章目录 Python3 图片文字识别翻译--调用百度AI.百度翻译和有道翻译的API 一.演示 二. API准备 三. 图片文字识别--调用百度AI文字识别API 四. 文字翻译 1. 百度翻译 请 ...

  8. 【2019-07-23】]python3 把日语翻译为中文 调用百度翻译API接口及API申请使用教程

    点击申请百度翻译API,得到一个你自己的API账户. 点击查看申请教程,感谢教程原作者. API官网提供了一个python2的使用接口的demo还有详细的解释文档 想用python3完成,代码几乎照搬 ...

  9. Python3,WIFI 万(破) 能 (解) 钥 (神) 匙 (器)的 GUI版本来了,果断收藏。

    WIFI万能钥匙GUI版本 1.引言 2.代码实战 3.总结 1.引言 小屌丝:鱼哥, 上次你写的wifi破解神器,虽然好用,但是没有GUI界面啊. 小鱼:- 你还想要GUI界面版的? 小屌丝:对啊, ...

最新文章

  1. μCos-ii学习笔记1_概述
  2. java drawingpanel_Java DrawingPanel.getHeight方法代码示例
  3. java 32位_Java知识点:创建节约内存的JavaBean
  4. localstorage存mysql_存储localstorage
  5. [转]Centos 安装Sublime text 3
  6. 为什么都开始流行将洗手台装在厕所外?
  7. spinningup 绘制曲线
  8. MVC入门小示例---淘宝商品的搜索和价格筛选
  9. 论文引介 | Information Extraction with Reinforcement Learning
  10. linux查看cuda驱动程序,我的nvidia驱动程序的正确CUDA版本是什么?
  11. Laya Shader3D之边缘光照
  12. 查看电脑硬盘分区格式
  13. MACOS使用Karabiner解决CapsLock按键切换大写延迟问题
  14. 基于php+MYSQL的旅游景点攻略的设计与实现 毕业设计源码301216
  15. 诈骗短信报警12110
  16. 如何让搜索引擎收录我的站点
  17. android qq音乐 搜索,QQ音乐搜索功能基本思路
  18. java回溯算法_回溯算法讲解--适用于leetcode绝大多数回溯题目
  19. *POJ1830 高斯消元
  20. 想在美国找CS软件工作

热门文章

  1. 从项目中学习Django 天天生鲜---------前台商品展示
  2. 《zBrow的资本论》
  3. Java数据库编程(JDBC)-入门笔记
  4. 2020 年 3 月 19 日
  5. 小方法!教你如何下载喜欢的明星剧照当电脑桌面
  6. Python办公自动化|一键生成数据分析报告
  7. 计算机二级MS选择题题库百度云,计算机二级msoffice题库选择题集(精选版).pdf
  8. [Unity多人游戏插件]Playfab 的下载 安装以及简单的说明
  9. 【Pyqt实战】全国天气查询小程序(含UI界面,python代码)
  10. 如何使用ArcGIS从天地图中提取水系