本篇文章主要讲讲述了用Python实现翻译软件,超级实用,赶紧将代码收藏起来试试吧,希望对你学习Python有所启发哦!
将这个代码放在格式化工具中重新排版一下,找到 sign 执行函数的代码,再用 execjs,执行这段 js 代码,在计算过程中还需要 gtk 的值,这个值在翻译首页获取一下就可以。
js = js.replace(
上边的步骤完成以后我们就可以愉快的进行翻译了。
图形化界面用的是 pyQt5 这个模块,实现起来不难。
class Demo(QWidget):def __init__(self, parent=None):super().__init__()elf.setWindowTitle('翻译软件-公众号: Ahab杂货铺')self.Label1 = QLabel('原文')self.Label2 = QLabel('译文')本文来源gao($daima.com搞@代@#码(网5self.LineEdit1 = QLineEdit()self.LineEdit2 = QLineEdit()self.translateButton1 = QPushButton()self.translateButton2 = QPushButton()self.translateButton3 = QPushButton()self.translateButton1.setText('百度翻译')self.translateButton2.setText('有道翻译')self.translateButton3.setText('谷歌翻译')self.grid = QGridLayout()self.grid.setSpacing(12)self.grid.addWidget(self.Label1, 1, 0)self.grid.addWidget(self.LineEdit1, 1, 1)self.grid.addWidget(self.Label2, 2, 0)self.grid.addWidget(self.LineEdit2, 2, 1)self.grid.addWidget(self.translateButton1, 1, 2)self.grid.addWidget(self.translateButton2, 2, 2)self.grid.addWidget(self.translateButton3, 3, 2)self.setLayout(self.grid)self.resize(400, 150)self.translateButton1.clicked.connect(lambda : self.translate(api='baidu'))self.translateButton2.clicked.connect(lambda : self.translate(api='youdao'))self.translateButton3.clicked.connect(lambda : self.translate(api='google'))self.bd_translate = baidu()elf.yd_translate = youdao()self.gg_translate = google()def translate(self, api='baidu'):word = self.LineEdit1.text()if not word: returnif api == 'baidu': results = self.bd_translate.translate(word)elif api == 'youdao': results = self.yd_translate.translate(word)elif api == 'google': results = self.gg_translate.translate(word)else: raise RuntimeError('Api should be <baidu> or <youdao> or <google>...')for result in results: self.LineEdit2.setText(result)
相关教程:Python视频教程