找回密码
 会员注册
查看: 37|回复: 0

python例子:翻译器(简单)

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71754
发表于 2024-9-6 18:27:41 | 显示全部楼层 |阅读模式
作品介绍作品名称:翻译器开发环境:PyCharm2023.3.4+python3.7用到的库:PyQt5、translate、sys作品简介:“输入内容”输入要翻译的中文内容,“选择语言”选择要翻译的语种,最后点击“开始翻译”,最终结果显示在“翻译结果”。实现过程一阅读器UI设计1、安装所需的第三方模块PyQt5和pyqt5-tools(文件-设置),直接使用右边“+”安装就可以,如无法安装,可在命令界面使用“pipinstallXXX”进行安装(注意使用的是pycharm2018版本);2、配置工具QtDesigner(设计器)和pyUIC(转化为py代码,Arguments设置“-mPyQt5.uic.pyuicFileNameFileNameFileName-oFileNameWithoutExtensionFileNameWithoutExtensionFileNameWithoutExtension.py”);3、运行工具QtDesigner(图1)后,利用QtDesigner工具箱设计出图2的界面效果(所需要的控件可查看右边区域),保存效果为文件translateFunction.ui;4、对文件translateFunction.ui执行pyUIC(ui转化为py代码),执行完生成文件translateFunction.py。二、代码设计1、添加内置模块(下面代码使用)和主方法(用于运行后弹出阅读器);fromPyQt5importQtCore,QtGui,QtWidgetsimportsysfromtranslateimportTranslator1234#主方法(添加代码)if__name__=='__main__':app=QtWidgets.QApplication(sys.argv)MainWindow=QtWidgets.QMainWindow()#创建窗体对象ui=Ui_mainWindow()#创建PyQt设计的窗体对象ui.setupUi(MainWindow)#调用PyQt窗体的方法对窗体对象进行初始化设置MainWindow.show()#显示窗体sys.exit(app.exec_())#程序关闭时退出进程123456782、函数retranslateUi添加代码,用来点击开始翻译;self.pushButton.clicked.connect(self.translateData)#点击开始翻译13、定义函数translateData,用来实现翻译功能;#翻译方法deftranslateData(self):languages=['en','es','fr','de','it','pt','ru','zh-CN','zh-TW','ja','ko']language=languages[self.comboBox.currentIndex()]#获取选择的语言translator=Translator(from_lang="zh",to_lang=language)translated_text=translator.translate(self.inputEdit.toPlainText())#开始翻译self.outputEdit.setPlainText(translated_text)123456784、全部代码如下。fromPyQt5importQtCore,QtGui,QtWidgetsimportsysfromtranslateimportTranslatorclassUi_mainWindow(object):defsetupUi(self,mainWindow):mainWindow.setObjectName("mainWindow")mainWindow.resize(637,442)self.centralwidget=QtWidgets.QWidget(mainWindow)self.centralwidget.setObjectName("centralwidget")self.inputName=QtWidgets.QLabel(self.centralwidget)self.inputName.setGeometry(QtCore.QRect(100,100,54,12))self.inputName.setObjectName("inputName")self.outputName=QtWidgets.QLabel(self.centralwidget)self.outputName.setGeometry(QtCore.QRect(100,310,54,12))self.outputName.setObjectName("outputName")self.pushButton=QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(437,195,75,30))self.pushButton.setObjectName("pushButton")self.inputEdit=QtWidgets.QPlainTextEdit(self.centralwidget)self.inputEdit.setGeometry(QtCore.QRect(170,30,341,151))self.inputEdit.setPlainText("")self.inputEdit.setObjectName("inputEdit")self.outputEdit=QtWidgets.QPlainTextEdit(self.centralwidget)self.outputEdit.setGeometry(QtCore.QRect(170,240,341,151))self.outputEdit.setPlainText("")self.outputEdit.setObjectName("outputEdit")self.selectLanguage=QtWidgets.QLabel(self.centralwidget)self.selectLanguage.setGeometry(QtCore.QRect(100,200,55,20))self.selectLanguage.setObjectName("selectLanguage")self.comboBox=QtWidgets.QComboBox(self.centralwidget)self.comboBox.setGeometry(QtCore.QRect(170,195,251,30))self.comboBox.setObjectName("comboBox")self.comboBox.addItem("")self.comboBox.addItem("")self.comboBox.addItem("")self.comboBox.addItem("")self.comboBox.addItem("")self.comboBox.addItem("")self.comboBox.addItem("")self.comboBox.addItem("")self.comboBox.addItem("")self.comboBox.addItem("")self.comboBox.addItem("")mainWindow.setCentralWidget(self.centralwidget)self.statusbar=QtWidgets.QStatusBar(mainWindow)self.statusbar.setObjectName("statusbar")mainWindow.setStatusBar(self.statusbar)self.retranslateUi(mainWindow)QtCore.QMetaObject.connectSlotsByName(mainWindow)defretranslateUi(self,mainWindow):_translate=QtCore.QCoreApplication.translatemainWindow.setWindowTitle(_translate("mainWindow","翻译器"))self.inputName.setText(_translate("mainWindow","输入内容:"))self.outputName.setText(_translate("mainWindow","翻译结果:"))self.pushButton.setText(_translate("mainWindow","开始翻译"))self.selectLanguage.setText(_translate("mainWindow","选择语言:"))self.comboBox.setItemText(0,_translate("mainWindow","英语"))self.comboBox.setItemText(1,_translate("mainWindow","西班牙语"))self.comboBox.setItemText(2,_translate("mainWindow","法语"))self.comboBox.setItemText(3,_translate("mainWindow","德语"))self.comboBox.setItemText(4,_translate("mainWindow","意大利语"))self.comboBox.setItemText(5,_translate("mainWindow","葡萄牙语"))self.comboBox.setItemText(6,_translate("mainWindow","俄语"))self.comboBox.setItemText(7,_translate("mainWindow","简体中文"))self.comboBox.setItemText(8,_translate("mainWindow","繁体中文"))self.comboBox.setItemText(9,_translate("mainWindow","日语"))self.comboBox.setItemText(10,_translate("mainWindow","韩语"))#添加代码self.pushButton.clicked.connect(self.translateData)#点击开始翻译#翻译方法deftranslateData(self):languages=['en','es','fr','de','it','pt','ru','zh-CN','zh-TW','ja','ko']language=languages[self.comboBox.currentIndex()]#获取选择的语言translator=Translator(from_lang="zh",to_lang=language)translated_text=translator.translate(self.inputEdit.toPlainText())#开始翻译self.outputEdit.setPlainText(translated_text)#主方法(添加代码)if__name__=='__main__':app=QtWidgets.QApplication(sys.argv)MainWindow=QtWidgets.QMainWindow()#创建窗体对象ui=Ui_mainWindow()#创建PyQt设计的窗体对象ui.setupUi(MainWindow)#调用PyQt窗体的方法对窗体对象进行初始化设置MainWindow.show()#显示窗体sys.exit(app.exec_())#程序关闭时退出进程12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697Python入门学习资料1.Python系统学习路线图首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!2.Python必备开发工具3.看视频进行系统学习先在网上康康达人分享的视频、干货,通俗易懂,形成初始概念;你会发现博主们在进阶成大神之前他们的学习途径有哪些,找到适合自己风格的课程;不过这样学习技术比较杂乱,所以通过更加系统的视频来学习,效果更好,也更全面。4.实战案例光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。最后如果你也想自学Python,可以关注我。我会把踩过的坑分享给你,让你不要踩坑,提高学习速度,还整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。↓↓↓↓
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 13:21 , Processed in 0.457325 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表