Python利用PySimpleGUI实现自制桌面翻译神器

目录
  • 一、基本思路
  • 二、PySimpleGUI是什么
  • 三、代码分析
    • 1、引入包
    • 2、谷歌翻译网址
    • 3、构建翻译函数
    • 4、GUI构建
  • 四、Github开源地址

一、基本思路

基于PySimpleGUI开发桌面GUI→获取键盘输入→接入谷歌翻译API→爬虫获取翻译结果【其中涉及到正则表达式匹配翻译结果输出翻译结果口翻译完成。

二、PySimpleGUI是什么

创建图形用户界面(GUI)可能很困难,有许多不同的PythonGUI工具包可供选择。最常提到的前三名是 Tkinter,wxPython和PyQt .但是PySimpleGUI的较新工具包,其目的是使创建GUI更加容易。

三、代码分析

废话不能多,上分析!

1、引入包

可能有点儿多,但是下面的每一个包都必须用pip安装:

from optparse import Values
import re
import html
from tkinter import font
from urllib import parse
import requests
import PySimpleGUI as sg

2、谷歌翻译网址

该处使用的ur网络请求的数据,这里用到了字符串格式化方法需要用到三个参数:

text—需要翻译的内容、to_language—日标语音类型、text_Language—当前话言类型。

url = 'http://translate.google.cn/m?q=%s&tl=%s&sl=%s'

3、构建翻译函数

def translate(text, to_language="en", text_language="auto"):
    text = parse.quote(text)
    urll = url % (text, to_language ,text_language)
    response = requests.get(urll)
    data = response.text
    expr = r'(?s)class = "(?:t0|result-container)">(.*?)<'
    result = re.findall(expr, data)
    print (result)
    if (len(result) == 0):
        return ""
    return html.unescape(result[0])

4、GUI构建

g.theme('bluepurple')
font = {"fangsong", 12}
menu = [["Help", ["About", "Item", "Author"]]]
value = ['汉语', '英语', '日语', '法语', '俄语', '自动']

var = ['zh', 'en', 'ja', 'fr', 'ru', 'auto']
dic = dict(zip(value, var))
layout = [[sg.Menu(menu, tearoff = False)],
          [sg.Text(text='Input', 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, 0), font=font)],
          [sg.Text(text='Output', size=(30, 1))],
          [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, value = window.read()
    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":
        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("作者简介:",
                 "姓名:刘镇鸣",
                 "微信/电话:17734258540",
                 "E-mail:2124619132@qq.com", title='', font=font, auto_close=1)
window.close()

四、Github开源地址

Github开源地址:https://github.com/ProgramApeInn/PySimpleGUI-Root-App

到此这篇关于Python利用PySimpleGUI实现自制桌面翻译神器的文章就介绍到这了,更多相关Python PySimpleGUI桌面翻译内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python使用PySimpleGUI设置进度条及控件使用

    PySimpleGUI 使用起来感觉比tkinter要方便,当然我也没怎么用过这两者.只是学习模拟一下任务进度完成情况. 安装 pip install PySimpleGUI 一.简单进度条使用 PySimpleGUI有一个一条命令即可展示进度条的控件.one_line_progress_meter import time import PySimpleGUI as sg if __name__ == '__main__': sg.one_line_progress_meter('进度条标题',

  • Python爬取百度翻译实现中英互译功能

    目录 基础步骤 提交表单 获取响应并处理结果 消除警告 main.py sign.py 由于下学期报了一个Python的入门课程 所以寒假一直在自己摸索,毕竟到时候不能挂科,也是水水学分 最近心血来潮打算试试爬一下百度翻译 肝了一天终于搞出来了 话不多说,直接开搞(环境是Python 3.8 PyCharm Community Edition 2021.3.1) 基础步骤 百度翻译会识别到爬虫,所以得用headers隐藏一下 以chorme浏览器为例 在百度翻译页面点击鼠标右键,选择“检查”(或

  • 一个非常简单好用的Python图形界面库(PysimpleGUI)

    前一阵,我在为朋友编写一个源代码监控程序的时候,发现了一个 Python 领域非常简单好用的图形界面库. 说起图形界面库,你可能会想到 TkInter.PyQt.PyGUI 等流行的图形界面库,我也曾经尝试使用,一个很直观的感受就是,这太难用了.就去网上搜搜,看看有没有一些 demo,拿来改改,结果很少有,当时我就放弃了这些图形库的学习,转而使用了 vue+flask 的形式以浏览器网页作为程序界面,因为我会这个,即使实现起来稍微麻烦,但是也快. 那有朋友可能问了:一定要学习图形界面吗? 其实不

  • Python 库 PySimpleGUI 制作自动化办公小软件的方法

    目录 1 PySimpleGUI安装 2 PySimpleGUI制作简易弹窗界面 2.1 两种界面设计模式 2.2 制作弹窗 2.3 文字内容弹窗 2.4 获取用户输入的弹窗 2.5 文件选择弹出窗口 2.6 文件夹选择窗口 2.7 进度条弹窗 3 制作简易压缩软件 3.1 功能需求 3.2 功能拆解 3.3 全部代码 Python 在运维和办公自动化中扮演着重要的角色,PySimpleGUI 是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化. 1 PySimpleGUI安装 在命令

  • 基于Python3编写一个GUI翻译器

    目录 1.引言 2.代码实战 2.1 思路 2.2 实战 3.总结 1.引言 小屌丝:鱼哥,你说百度翻译的准确,还是google翻译的准确? 小鱼:自己翻译的最准确. 小屌丝:你这… 抬杠. 小鱼:没有啊,英语自己就能翻译,还需要啥翻译软件 小屌丝:如果是俄语,意大利语,西班牙语呢? 小鱼:你这是…抬杠. 小屌丝:也没有啊,我就是觉得网页版翻译器太麻烦了. 小鱼:早说啊,我这有现成的翻译器. 小屌丝:嗯?? 你下载的是什么翻译器? 小鱼:你觉得我会下载吗? 小屌丝:嗯,确实,那就是说,你自己写了

  • python接入使用百度翻译流程

    目录 一.分析网页 二.使用步骤 1.导入库 2.键盘输入内容 3.构建url/headers/data参数 4.发起请求响应数据 5.解析数据输出结果 三.完整代码 一.分析网页 1. 打开网页,在搜索框输入百度翻译并进入百度翻译网站中.F12调出开发者工具,点击Network(网络)\ Fetch/XHR,同时在翻译框中任意输入搜索内容,此时就会发现有一个名称为sug的包.点击该包,点击后会看到有Heders.Payload.Preview和Rsponse等选项.点击Heders选项,将Re

  • Python利用PySimpleGUI实现自制桌面翻译神器

    目录 一.基本思路 二.PySimpleGUI是什么 三.代码分析 1.引入包 2.谷歌翻译网址 3.构建翻译函数 4.GUI构建 四.Github开源地址 一.基本思路 基于PySimpleGUI开发桌面GUI→获取键盘输入→接入谷歌翻译API→爬虫获取翻译结果[其中涉及到正则表达式匹配翻译结果输出翻译结果口翻译完成. 二.PySimpleGUI是什么 创建图形用户界面(GUI)可能很困难,有许多不同的PythonGUI工具包可供选择.最常提到的前三名是 Tkinter,wxPython和Py

  • python利用有道翻译实现"语言翻译器"的功能实例

    实例如下: import urllib.request import urllib.parse import json while True: content = input('请输入需要翻译的内容(退出输入Q):') if content == 'Q': break else: url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom

  • Python实现桌面翻译工具【新手必学】

    Python 用了好长一段时间了,起初是基于对爬虫的兴趣而接触到的.随着不断的深入,慢慢的转了其它语言,毕竟工作机会真的太少了.很多技能长时间不去用,就会出现遗忘,也就有了整理一下,供初学者学习和讨论.相对于其它语言,你可以用很少的代码,便能实现一个完整的功能. ps:另外很多人在学习Python的过程中,往往因为遇问题解决不了从而导致自己放弃,为此我建了个Python全栈开发交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题有老司机解决

  • python利用google翻译方法实例(翻译字幕文件)

    英文字幕确实让人头疼,因此,花了一天专门研究,用python实现了比较简单的翻译代码.仅有几十行 首先加载模块 pip uninstall googletrans git clone https://github.com/BoseCorp/py-googletrans.git cd ./py-googletrans && python setup.py install 使用测试 from googletrans import Translator # 实例化 translator = Tr

  • 三大Python翻译神器再也不用担心学不好英语

    导语 ​ hello everyone!  I'm kimiko! ​Miss me??? 嘿!中秋结束了,开始正式营业给大家继续送福利啦! ​ 中秋在家发现:家里的小孩子在最后上学那天开始赶作业了!果然每个孩子的童年都是一样的!哈哈哈啊~ 看了一眼侄女儿正在写英语翻译题目, 啊这一看不得了题目写的乱七八糟!!! 这让我有点儿上头啊,刚巧直接给我姐说了:'''这英语还要加强学习撒' 老姐说:''回家我也不会教不了,学校的也没学好,一句完整的句子都讲不出来.......'" ​ 那肯定是拿上我30

  • 基于Python实现简易的自制头像神器

    目录 前言 正文 1)原理简介 2)准备中 3)代码展示 4)效果展示 前言 都说新年新气象,所以,为了迎接2022年的到来! 小编决定换一波头像——于是问题来了!换一个什么样的头像比较合适呢? 来!开一波脑洞——作为一个不会PS的普通程序员要怎么快速制作一个属于自己的渐变头像呢?十行 Python 代码就能解决,非常简单! ​ 正文 首先来给大家白嫖几组新年的头像啦!快接着哈 1)原理简介 主要使用到了 Python 的 PIL 库(pip install Pillow),实现步骤也很简单:

  • python利用有道翻译实现"语言翻译器"的功能实例

    实例如下: import urllib.request import urllib.parse import json while True: content = input('请输入需要翻译的内容(退出输入Q):') if content == 'Q': break else: url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom

  • python利用winreg生成桌面路径及实现扫描二维码图片返回相关信息

    目录 一.winreg生成桌面路径 二.实现扫描二维码图片返回相关信息 1.模块准备 2.代码解析 3.代码展示 前言: 在平时敲代码过程中,我们会经常读取或者保存文件到桌面,你自己一个人使用倒还好,如果你将你的代码给别人使用,别人在使用过程中就很有可能因为找不到路径而报错,接着就要去更改路径相关的代码,这就显得比较麻烦. 这次分享一个桌面路径获取的函数,以后只要复制并调用这个函数就好. 一.winreg生成桌面路径 代码如下: import winreg def desktop_path():

  • Python利用PyAutoGUI实现自动点赞

    目录 前言 思路 实现 总结 前言 在上篇文章<Python自动操作 GUI 神器——PyAutoGUI>中,我跟大家讲解了一下 pyautogui 的一些基础知识和操作,大家反馈很好,给了我好多赞,在此先跟大家说声三克油! 在得到大家正反馈的同时,我受到了很大鼓舞,感觉如果只是介绍一下基础操作,有点不过瘾,所以今天晚上加班回来,虽然很不想打开电脑,但是还是忍着疲惫给大家奉献一个小实例. 为此,我跑去洗手间用凉水洗了一把脸,顿时清醒多了,下面进入正题. 作为一个 GUI 操作的神器,我们看到了

  • Python利用神经网络解决非线性回归问题实例详解

    本文实例讲述了Python利用神经网络解决非线性回归问题.分享给大家供大家参考,具体如下: 问题描述 现在我们通常使用神经网络进行分类,但是有时我们也会进行回归分析. 如本文的问题: 我们知道一个生物体内的原始有毒物质的量,然后对这个生物体进行治疗,向其体内注射一个物质,过一段时间后重新测量这个生物体内有毒物质量的多少. 因此,问题中有两个输入,都是标量数据,分别为有毒物质的量和注射物质的量,一个输出,也就是注射治疗物质后一段时间生物体的有毒物质的量. 数据如下图: 其中Dose of Myco

随机推荐