<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
小屌絲:魚哥,你說百度翻譯的準確,還是google翻譯的準確?
小魚:自己翻譯的最準確。
小屌絲:你這… 擡槓。
小魚:沒有啊,英語自己就能翻譯,還需要啥翻譯軟體
小屌絲:如果是俄語,義大利語,西班牙語呢?
小魚:你這是…擡槓。
小屌絲:也沒有啊,我就是覺得網頁版翻譯器太麻煩了。
小魚:早說啊,我這有現成的翻譯器。
小屌絲:嗯?? 你下載的是什麼翻譯器?
小魚:你覺得我會下載嗎?
小屌絲:嗯,確實,那就是說,你自己寫了一個唄?
小魚:你答對了。
小屌絲:那趕緊share一下啊。
小魚:曬就曬,正好今天陽光明媚的。
我們寫的GUI翻譯器,思路:
構建url地址;
構建語言種類;
GUI介面的搭建;
觸發GUI介面功能操作;
這裡提示一下,我們是通過 PySimpleGUI 來進行構建的。
小屌絲:什麼是PySimpleGUI呢?
小魚:一句話,PySimpleGUI 就是GUI工具包,用於建立GUI的。
小屌絲:果然是夠簡單,那看程式碼吧。
由於內容並不複雜,所以,直接上程式碼。
程式碼展示
#-*- 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()
執行結果:
看到這裡,今天的分享差不多就要結束了。
關於PySimpleGUI 的介紹,也就差不多了。
今天更多的是通過PySimpleGUI 來搞定翻譯器,既鍛鍊了擼碼能力,
有節省了每次百度翻譯/google翻譯花費的時間。
關於PySimpleGUI 更多功能,可以移步官網。
小魚就不過多的介紹了。
到此這篇關於基於Python3編寫一個GUI翻譯器的文章就介紹到這了,更多相關Python翻譯器內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45