制作属于自己的翻译软件(基于PyQt5+Python+实时翻译)
程序员文章站
2022-05-28 21:30:29
...
制作属于自己的翻译软件(基于PyQt5+Python+实时翻译)
@(目录)
软件截图
主要的思想
界面方面
源码:
https://github.com/LiYangSir/Translate
界面主要采用PyQt5的QtDesigner来制作,主要是因为QT的界面可以支持CSS样式,制作起来比较好看,当然为了简单,我自己也没有加任何特效。读者可以自行加载CSS样式。
这里没有直接采用tkinter也是想试一下QT,对于熟悉tkinter的同学,可以自己改进,也比较简单。
注意: 翻译这个按钮其实没有用,增加了实时翻译的效果,所以不太会用到翻译按钮,这里加上翻译按钮主要是为了更好的模仿一些翻译软件。
程序方面
使用的Python作为编程软件,一方面是爬取方便,另一方面也比较简单 (-_-)。
# 主要文件Translate.py
def translateText(self): # 翻译文本
text = self.translate_in.toPlainText()
if text != '':
self.data['i'] = text
data = urllib.parse.urlencode(self.data).encode('utf-8')
request = urllib.request.urlopen(self.url, data)
html = request.read().decode('utf-8')
target = json.loads(html)
# print(target['translateResult'])
result = []
for i in range(len(target['translateResult'])):
res = target['translateResult'][i][0]['tgt']
result.append(res)
self.translate_out.setPlainText('\n'.join(result))
def copy_text(self): # 复制文本
clipboard = QApplication.clipboard() # 剪切板
clipboard.setText(self.translate_out.toPlainText())
整体来说还是比较简单的,如果大家需要tkinter的版本可以和我留言,我可以外加一篇。