pyqt界面语言中英文转换
直接上步骤:
- 首先定义翻译器,在窗体类的__init__方法中定义翻译器
def __init__(self):
# Desine the translator to translate interface languages.self.trans = QTranslator(self)
- self.trans这个翻译器需要去load已经翻译好的文件xxxx.qm。xxxx.qm是一个二进制的文件,它由xxxx.ts生成。
self.trans.load('./translation/zh_CN')
这里的xxxx.ts,通过在窗体的这个.ui生成.py文件的目录下,使用pylupdate5 xxx.py -ts zh_CN.ts
命令,就会在该目录下生成zh_CN.ts文件,可以将这个文件放到你想要放到的目录下,然后打开pyqt中的Linguist.exe,如果不知道具体的位置,直接在python目录下搜索,一般在Python的文件夹/Lib/site-packages/pyqt5-tools下面,然后打开zh_CN.ts文件,分别对每个要翻译的英文设置中文译文,每添加好一个后就把前面的对号打上,如果某个不需要翻译,就不做任何操作。
然后点击file下的Release,我这个是中文的,直接点击发布就会在该目录下生成zh_CN.qm文件
- 得到窗体的实例化的QApplication对象
_app = QApplication.instance() # 得到创建的应用程序实例
_app就是在程序中创建的应用程序实例了
- 为了程序中的结构不被破坏,一般使用_app调用它的installTranslator为它"安装"一个"翻译"。installTranslator的参数是定义的翻译器,即self.trans
_app.installTranslator(self.trans)
- 重新翻译界面
self.retranslateUi(self)
核心代码:
from Window import Ui_MainWindowfrom PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import sysclass MainWindow(QMainWindow, Ui_MainWindow):def __init__(self, parent=None):super(MainWindow, self).__init__(parent)self.setupUi(self)# 翻译家self.trans = QTranslator()# 连接到槽函数self.BtnEn.clicked.connect(self.select_Chinese)self.BtnCh.clicked.connect(self.select_English)def select_Chinese(self):self.trans.load('./translation/zh_CN')_app = QApplication.instance()_app.installTranslator(self.trans)self.retranslateUi(self)def select_English(self):_app = QApplication.instance()_app.removeTranslator(self.trans)self.retranslateUi(self)if __name__ == "__main__":app = QApplication(sys.argv)mainWindow = MyWindow()mainWindow.show()sys.exit(app.exec_())
参考部分内容:https://blog.csdn.net/CholenMine/article/details/80725088
pyqt界面语言中英文转换相关推荐
- 页面 切换 中英文 怎么实现_【完美解决】AE CC2018表达式错误 ae cc2018如何进行中英文转换?...
久病成医,这句话说的绝对有道理!终于解决ae cc2018中英文转换问题了!!! 因为安装了AE CC2018,打开一些ae模板,总是提示表达式错误,在网上搜索,总是找不到问题的完美解决办法!很多教程 ...
- echarts 绘制中国地图(中英文转换)
echarts 绘制中国地图 1.引入echarts npm install echarts import echarts from 'echarts' 2.引入地图china.js(网上自行搜索下载 ...
- ThankPHP5.0增加中英文转换(tp5语言翻译)
ThankPHP5.0增加中英文转换(tp5语言翻译) 这个中英文转换是点击触发的,默认是显示中文的语言,框架使用的是thankphp5.0.24 .废话不多说直接上代码 提示:以下是本篇文章正文内容 ...
- ASP.NET网站实现中英文转换(本地化资源)
ASP.NET网站实现中英文转换(本地化资源) 摘要:随着计算机网络的发展,一些商业机构也开始向国际市场迈进.因此这些商业的机构的网站 也开始面向全世界的用户,要求网站具有多语言的选择,实现本地化.在 ...
- 【Adobe After Effects中英文转换2019——2023版】
** Adobe After Effects中英文转换2019--2023版 ** 如果是默认安装的软件,在桌面右击AE图标,点击打开文件所在位置,来到软件安装目录 C:\Program Files\ ...
- 通过C#进行中英文转换
通过C#进行中英文转换 编写相应语言的XML文件,添加xml文件 ChineseSimplified.xml文件内容 <?xml version="1.0" encoding ...
- springboot国际化实现中英文转换
国际化即支持中英文转换功能,按照下面流程实现! 此时点击text切换就可以看到三份文件,默认语言,英文语言,中文语言. 在配置文件中添加上路径. 写一个国际化组件 package com.demo1. ...
- PyQt:快速转换路径中的斜杠(斜杠(/)与反斜杠(\)转换)
目录 1.问题背景 2.解决方案 2.1.斜杠转反斜杠( / 转 \ ) 2.2.反斜杠转斜杠( \ 转 / ) 1.问题背景 PyQt是写Python图形用户界面(Graphical User In ...
- Spring Boot 基础学习之(五)页面通过自定义LocaleResolver组件实现网页页面的的中英文转换
本次项目所有能够使用的静态资源可以免费进行下载 静态资源 在前端网页,是不是看见过这样的功能 基础网页:中文表示 点击下面的English 按钮网页显示文字开始切换 通过功能性按钮实现中英文切换, ...
- react中使用i18n中英文转换
1.下载对应的依赖包 npm i i18next npm i react-i18next 2.在项目的public下创建一个locale的文件,在local文件中添加locale.json文件 注意: ...
最新文章
- git rebase 和 git merger
- 《网站运维技术与实践》笔记
- Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
- asio中的socket相关service的关系图
- Docker 安装 Nginx
- Faster R-CNN论文笔记——FR
- docker安装Jenkins+BlueOcean
- spark RDD创建方式:parallelize,makeRDD,textFile
- mysql5.7.11 linux_CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解...
- 2018 最强“弱密码”排行榜新鲜出炉,123456 再登首
- 追踪电子邮件行踪的“眼”
- SQL_Server_2008完全学习之第五章操作架构、索引和视图
- ftp服务器文件不让上传,ftp服务器不让上传文件
- 可以多项目协同的项目管理软件
- Python摇色子游戏(两种模式)
- 90个常用词根,30个前缀30个后缀
- 每月一书(202111):《五百年来王阳明》
- python读书心得体会_Python学习心得体会
- 判断ip是内网还是外网, 判断请求来之pc还是mobile
- 在 web of science上到导出txt文件
热门文章
- 用聚宽数据排一排商誉雷(附结果)
- python0不能做除数报错_浅谈pandas dataframe对除数是零的处理
- origin柱状图同时有两组数和两组数差值_Origin入门教程(十二):「误差棒」棒棒棒儿...
- 高薪岗位大数据开发工程师要如何入门?【重磅】
- qq群发信息显示服务器检测到,QQ昨夜出现功能异常 你以为没发出去的消息都被对方看见了...
- 弹性力学,塑性力学,流变学,连续介质力学,断裂力学,流体力学基本定义及关系
- 看图工具MassiGra使用指南
- [转]Selenium html之于ul标志代码分析与使用
- C语言零碎知识点之输入字符数组
- python爬取网易动态评论