首页 > Python资料 博客日记
python例子:翻译器(简单)
2024-09-16 06:00:14Python资料围观34次
本篇文章分享python例子:翻译器(简单),对你有帮助的话记得收藏一下,看Python资料网收获更多编程知识
作品介绍
作品名称:翻译器
开发环境:PyCharm 2023.3.4 + python3.7
用到的库:PyQt5、translate、sys
作品简介:“输入内容”输入要翻译的中文内容,“选择语言”选择要翻译的语种,最后点击“开始翻译”,最终结果显示在“翻译结果”。
实现过程
一 阅读器UI设计
1、安装所需的第三方模块PyQt5和pyqt5-tools(文件-设置),直接使用右边“+”安装就可以,如无法安装,可在命令界面使用“pip install XXX”进行安装(注意使用的是pycharm2018版本);
2、配置工具QtDesigner(设计器)和pyUIC(转化为py代码,Arguments设置“-m PyQt5.uic.pyuic F i l e N a m e FileName FileName -o F i l e N a m e W i t h o u t E x t e n s i o n FileNameWithoutExtension FileNameWithoutExtension.py”);
3、运行工具QtDesigner(图1)后,利用QtDesigner工具箱设计出图2的界面效果(所需要的控件可查看右边区域),保存效果为文件translateFunction.ui;
4、对文件translateFunction.ui执行pyUIC(ui转化为py代码),执行完生成文件translateFunction.py。
二、代码设计
1、添加内置模块(下面代码使用)和主方法(用于运行后弹出阅读器);
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from translate import Translator
# 主方法(添加代码)
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_()) # 程序关闭时退出进程
2、函数retranslateUi添加代码,用来点击开始翻译;
self.pushButton.clicked.connect(self.translateData) # 点击开始翻译
3、定义函数translateData,用来实现翻译功能;
# 翻译方法
def translateData(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)
4、全部代码如下。
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from translate import Translator
class Ui_mainWindow(object):
def setupUi(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)
def retranslateUi(self, mainWindow):
_translate = QtCore.QCoreApplication.translate
mainWindow.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) # 点击开始翻译
# 翻译方法
def translateData(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_()) # 程序关闭时退出进程
Python入门学习资料
1.Python系统学习路线图
首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!
2.Python必备开发工具
3.看视频进行系统学习
先在网上康康达人分享的视频、干货,通俗易懂,形成初始概念;你会发现博主们在进阶成大神之前他们的学习途径有哪些,找到适合自己风格的课程;
不过这样学习技术比较杂乱,所以通过更加系统的视频来学习,效果更好,也更全面。
4.实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
最后
如果你也想自学Python,可以关注我。我会把踩过的坑分享给你,让你不要踩坑,提高学习速度,还整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。
↓↓↓↓
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj