欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

制作属于自己的翻译软件(基于PyQt5+Python+实时翻译)

程序员文章站 2022-05-28 21:49:44
...

制作属于自己的翻译软件(基于PyQt5+Python+实时翻译)

翻译软件和程序源码上传到github上
软件地址:translate.exe
源码地址: 源码

软件截图

制作属于自己的翻译软件(基于PyQt5+Python+实时翻译)

制作属于自己的翻译软件(基于PyQt5+Python+实时翻译)

主要的思想

界面方面

  界面主要采用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的版本可以和我留言,我可以外加一篇。

制作属于自己的翻译软件(基于PyQt5+Python+实时翻译)
我的hexo主页,有福利哦