基于Python3編寫(xiě)一個(gè)GUI翻譯器_第1頁(yè)
基于Python3編寫(xiě)一個(gè)GUI翻譯器_第2頁(yè)
基于Python3編寫(xiě)一個(gè)GUI翻譯器_第3頁(yè)
基于Python3編寫(xiě)一個(gè)GUI翻譯器_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第基于Python3編寫(xiě)一個(gè)GUI翻譯器'構(gòu)建翻譯函數(shù)'

#text:需要翻譯的內(nèi)容,to_language:目標(biāo)語(yǔ)言類(lèi)型,text_language:當(dāng)前語(yǔ)言類(lèi)型。

deftranslate(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'輸出內(nèi)容:{data}')

expr=r'(s)(.*)'

result=re.findall(expr,data)

print(f'{result}')

if(len(result)==0):

return""

returnhtml.unescape(result[0])

'GUI搭建'

#設(shè)置主題

sg.theme('bluepurple')

#設(shè)置字體

font=("fangsong",12)

#菜單欄設(shè)置

menu=[["Help",["About","Item","Author"]]]

#語(yǔ)言選擇(前端顯示),默認(rèn)只有6種,可以自己添加

value=['漢語(yǔ)','英語(yǔ)','日語(yǔ)','法語(yǔ)','俄語(yǔ)','自動(dòng)']

#語(yǔ)言選擇(后端執(zhí)行時(shí))

var=['zh','en','ja','fr','ru','auto']

#語(yǔ)言字典配置

dic=dict(zip(value,var))

#GUI布局

layout=[[sg.Menu(menu,tearoff=False)],

[sg.Text(text='輸入需要翻譯內(nèi)容',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='翻譯結(jié)果',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))

#設(shè)置窗口名稱(chēng),窗口布局,以及圖標(biāo)

window=sg.Window("桌面翻譯器",layout,icon='CT.ico')

'邏輯語(yǔ)句執(zhí)行'

whileTrue:

#定義事件event,返回值values

event,values=window.read()

#點(diǎn)擊“X”或者“退出”按鈕時(shí)才退出

ifeventin(None,"退出"):

break

#點(diǎn)擊翻譯按鈕

ifevent=="翻譯":

ifvalues["to"]==''orvalues["from"]=='':

sg.Popup("請(qǐng)選擇語(yǔ)言后再重試")

else:

tar=translate(values["-IN-"],dic[values["to"]],dic[values["from"]])

window["-OUT-"].Update(tar)

#點(diǎn)擊清除按鈕

ifevent=="清除":

window["-IN-"].update("")

window["-OUT-"].update("")

ifevent=="About":

#Popup提示彈窗,給出提示信息

sg.Popup("使用方法:",

"'翻譯'確認(rèn)輸入,并輸出翻譯結(jié)果",

"'清除'清除已有輸入,清空翻譯的結(jié)果",

"'退出'取消,并退出App",

title='',font=font,auto_close=1)

ifevent=="Item":

sg.Popup("翻譯類(lèi)型:",

"'輸入類(lèi)型'輸入的語(yǔ)言類(lèi)型",

"'輸出類(lèi)型'輸出的語(yǔ)言類(lèi)型",

title='',font=font,auto_close=1)

ifevent=="Author":

sg.Popup("作者簡(jiǎn)介:",

"姓名:XXXXXX",

"Wechat:XXXXXX",

"E-mail:XXXXXX@",title='',font=font,auto_close=1)

window.close()

運(yùn)行結(jié)果:

3、總結(jié)

看到這里,今天的分享差不多就要結(jié)束了。

關(guān)于PySimpleGUI的介紹,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論