我的编程空间,编程开发者的网络收藏夹
学习永远不晚

基于Python3编写一个GUI翻译器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

基于Python3编写一个GUI翻译器

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_DJ


import 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.text
    print(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, 返回值 values
    event,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 更多功能,可以移步官网。

小鱼就不过多的介绍了。

到此这篇关于基于Python3编写一个GUI翻译器的文章就介绍到这了,更多相关Python翻译器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

基于Python3编写一个GUI翻译器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

基于JavaScript编写一个翻卡游戏

这篇文章主要为大家详细介绍了如何溧阳JavaScript编写一个简单的翻卡游戏,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
2023-02-15

基于JavaScript如何编写一个翻卡游戏

这篇文章主要介绍“基于JavaScript如何编写一个翻卡游戏”,在日常操作中,相信很多人在基于JavaScript如何编写一个翻卡游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于JavaScript如
2023-07-05

基于C++编写一个Json解析器

这篇文章主要为大家详细介绍了如何基于C++编写一个Json解析器,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解一下
2023-03-09

基于JS怎么实现一个小型编译器

这篇文章主要讲解了“基于JS怎么实现一个小型编译器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于JS怎么实现一个小型编译器”吧!前言the-super-tiny-compiler 是一个
2023-06-30

基于C++编写一个文章生成器

这篇文章主要为大家介绍一个有趣的小程序,就是利用C++编写一个文章生成器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
2023-03-19

基于Python怎么编写一个点名器

这篇文章主要介绍“基于Python怎么编写一个点名器”,在日常操作中,相信很多人在基于Python怎么编写一个点名器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于Python怎么编写一个点名器”的疑惑有所
2023-07-02

基于C++怎么编写一个Json解析器

这篇文章主要介绍了基于C++怎么编写一个Json解析器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于C++怎么编写一个Json解析器文章都会有所收获,下面我们一起来看看吧。代码JsonSerialize.h
2023-07-05

基于Vue3编写一个简单的播放器

这篇文章主要为大家详细介绍了如何基于Vue3编写一个简单的播放器,文中的示例代码讲解详细,对我们学习Vue3有一定的帮助,需要的可以参考一下
2023-03-02

基于C++编写一个简单的服务器

这篇文章主要为大家详细介绍了如何基于C++编写一个简单的服务器,文中的示例代码讲解详细,具有一定的参考价值,感兴趣的小伙伴可以了解一下
2023-03-14

基于Vue+echarts编写一个折线图

这篇文章主要为大家详细介绍了如何利用Vue和Echarts实现绘制折线图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2023-05-18

怎么在Python中利用tkinter编写一个在线翻译软件

这篇文章给大家介绍怎么在Python中利用tkinter编写一个在线翻译软件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫
2023-06-06

基于Python编写一个简单的http服务器

这篇文章主要为大家详细介绍了如何基于Python编写一个简单的http服务器,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
2023-05-17

基于C++如何编写一个文章生成器

这篇“基于C++如何编写一个文章生成器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于C++如何编写一个文章生成器”文章吧
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录