pyQT5 谷歌翻译

为了方便查代码的意思做的小工具
在这里插入图片描述

import re
import sys
from googletrans import Translator
from PyQt5.QtWidgets import QApplication,QWidget,QTextEdit,QHBoxLayout

class TranslationWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.edit = QTextEdit(self)
        self.edit2 = QTextEdit(self)
        self.edit2.setReadOnly(True)

        self.edit.setAcceptRichText(False)
        self.edit.textChanged.connect(self.editTextChanged)

        hLayout = QHBoxLayout()

        hLayout.addWidget(self.edit)
        hLayout.addWidget(self.edit2)

        self.setLayout(hLayout)

        self.translator = Translator()


    def editTextChanged(self):
        text = self.edit.toPlainText()
        if len(text) == 0 :
            return
        text = text.replace("_"," ")
        text = text.replace("."," . ")
        text = text.replace("::"," :: ")
        text = text.replace("->"," -> ")
        text = text.replace("("," ( ")
        text = text.replace(")"," ) ")
        text = re.sub(r"(?<=\w)([A-Z])",r" \1",text)
        df = self.translator.translate(text,dest="zh-cn",src="en")
        self.edit2.setText(df.text)
        pass


def main():
    app = QApplication(sys.argv)
    
    window = TranslationWindow()
    window.setWindowTitle("翻译")
    window.resize(800,400)
    window.show()

    sys.exit(app.exec_())

if __name__ == "__main__":
    main()

猜你喜欢

转载自blog.csdn.net/qq_17813937/article/details/128370497