当前位置: 首页 > news >正文

网站怎么制作高唐住房建设局网站

网站怎么制作,高唐住房建设局网站,seo编辑招聘,做网站的的需求文档之前的文章中,利用QT Designer设计了一个简单的ui界面,并转换成py文件(具体参考【Python】基于界面库PyQt5Qt Dsigner的环境配置和界面绘制)。 现有一个为PythonQT中实现的程序,添加中英文切换功能的需求,可…

        之前的文章中,利用QT Designer设计了一个简单的ui界面,并转换成py文件(具体参考【Python】基于界面库PyQt5+Qt Dsigner的环境配置和界面绘制)。

        现有一个为Python+QT中实现的程序,添加中英文切换功能的需求,可以用QT自带的 pylupdate5 + QTLinguist 工具实现快捷的字符提取、翻译、转换,步骤如下:

一 用pylupdate5将.py文件转换为翻译文件(.ts)

        将需要翻译的.py文件,利用 pylupdate5 工具转换成.ts文件。这里提供两种方式:

        (1)使用命令行直接操作(建议:加上 -noobsolete 参数,这样可以保证在修改完py文件之后,生成新.ts中,删除旧有词条):

pylupdate5 -noobsolete xxx.py -ts xxx.ts

        (2)使用 pycharm 就更方便了,可以在”文件——设置——工具——外部工具“中添加对应的工具和实参,实现一键转换生成(实参和目录根据自己需要填写):

        注意:可以一次性将多个.py文件转换为一个ts文件,如下所示:

pylupdate5 -noobsolete xxx.py yyy.py zzz.py -ts all.ts

二 用QTLinguist将.ts文件翻译并转换为.qm文件

        (1)在外部工具中添加 QTLinguist ,并通过 QTLinguist 打开上面转换而来的.ts文件:

        (2)打开文件之后,语言设置如下,点击OK确认:

        (3)对照中文字符自行翻译:

        (4)全部翻译完成之后,选择”文件——发布“,生成.qm文件;

        (5)在QRC文件中登记.qm文件,并使用 PyRcc5 编译生成py文件:

<!DOCTYPE RCC>
<RCC version="1.0"><qresource prefix="/tr"><file>ui/english.qm</file><file>core/english_core.qm</file></qresource>
</RCC>

三 程序中使用.qm文件实现多语言切换

        (1)包含QT翻译器类:

from PyQt5.QtCore import QTranslator

        (2)初始化中创建中英文翻译器,我这边创建了两个翻译器,分别翻译不同类别的文件:

def __init__(self):self.translator_ui = QTranslator()      # 用来翻译QT Designer生成原始界面中内容的翻译器(ui文件夹中)self.translator_core = QTranslator()    # 用来翻译自己创建诸多文件中内容的翻译器(core文件夹中)self.loadLanguage(self.now_language)  # 加载语言配置(新语言设置只在重启后生效)self.retranslateUi(self)    # 重新翻译主窗口

        其中, 如果使用QT Designer创建的文件,自带retranslateUi()接口;如果是自己创建的文件,该接口需要自己实现。

        (3)我这边是根据 self.now_language 变量值,进行语言切换。具体情况具体分析:

def loadLanguage(self, language):"""加载新语言"""# 移除旧的翻译QApplication.instance().removeTranslator(self.translator_ui)QApplication.instance().removeTranslator(self.translator_core)# 根据语言选择翻译文件if language == "en_US":# 从qrc资源文件加载英文翻译if self.translator_ui.load(TRANSLATE_UI_FILE):  # 更新完qm翻译文件之后,需要把qrc文件也用PyRCC5重编一下QApplication.instance().installTranslator(self.translator_ui)if self.translator_core.load(TRANSLATE_CORE_FILE):  # 更新完qm翻译文件之后,需要把qrc文件也用PyRCC5重编一下QApplication.instance().installTranslator(self.translator_core)else:# 切换到中文时,移除所有翻译(使用原始中文界面)。不需要加载任何翻译文件,因为界面默认就是中文pass

        其中,.qm文件路径分别为:

TRANSLATE_UI_FILE   = ":/tr/ui/english.qm"          # QT Designer生成原始界面中内容(ui文件夹中)的翻译文件
TRANSLATE_CORE_FILE = ":/tr/core/english_core.qm"   # 自己创建诸多文件中内容(core文件夹中)的翻译文件

        (4)综上即可实现中英文切换功能。

四 自己手写的程序中字符翻译

        用QT Designer生成的文件自带 _translate 进行修饰,且自带 retranslateUi 接口进行刷新,所以转换、翻译操作起来比较方便。

        如果是自己创建文件中的文本,需要额外自行添加文本修饰器,如下所示:

_translate= QtCore.QCoreApplication.translate
OpeWidget.setWindowTitle(_translate("OpeWidget", "基本操作"))

        这里推荐一个更简单的修饰方法,直接用self.tr()来修饰所有自己编写的字符串

OpeWidget.setWindowTitle(self.tr("基本操作"))

        所有经过 self.tr() 修饰的字符串,都可以被 pylupdate5 工具识别,并通过 QTLinguist 工具执行翻译,其他步骤就和上面的步骤一、二、三相同了。

五 注意事项

【1】用 pylupdate5 工具转换时,建议加上 -noobsolete 参数,这样可以保证在修改完py文件之后,生成新.ts中,删除旧有词条;

【2】用 pylupdate5 工具转换时,可以一次性将多个.py文件转换为一个ts文件;

【3】建议用qt自带的 pyrcc5 工具进行资源(翻译文件、图片等)管理;

http://www.dtcms.com/a/530443.html

相关文章:

  • 广告片制作哪家好关键词优化seo外包
  • 祁东县建设局网站wordpress发帖提示升级vip
  • 建站的公司全国工程建设系统网站
  • 建公司网站哪里好佛山网站建设公司如何组建
  • 做音乐网站的目的wordpress本地如何安装
  • 温州给企业做网站苏州高端建站公司
  • 淘宝网站建设协议做百度推广首先要做网站吗
  • 莆田 网站建设排名第一的手机清理软件
  • 怎样加强企业网站建设微信小程序教程
  • 网站建设模板登录界面深圳logo设计公司哪家好
  • 设计做图免费网站提升关键词优化排名软件
  • 模板网站代理网站怎么做聚合
  • 什么网站有加工外发做的wordpress 上传头像
  • 广州高铁新建站在哪里WordPress 陈星
  • 电商网站设计周志伦敦做网站
  • 写建设网站的具体步骤非标自动化外包平台
  • 企业网站建设的开发方式有建站系统排行榜
  • 电商网站竞价推广策略自己公司网站如何添加qq
  • 买网站自己做广告设计公司的成本票项目有哪些
  • 建立网站链接结构的基本方式有建设网站建设哪家快
  • 青锐成长计划网站开发过程wordpress音乐主题
  • 发布公司信息的网站龙岩网红餐厅
  • phpcms手机网站模板好的建筑设计公司
  • 网站建设人员工作计划家里装修
  • 广东卫视你会怎么做网站外贸网站建设熊掌号
  • 怎样做旅游城市住宿网站嘉定房产网站建设
  • 企业网站建设的案例广西建设厅培训中心
  • 做微商有哪些网站可以免费宣传锕锕锕锕锕锕锕好湿免费网址
  • 贵阳城乡建设网站萝岗手机网站建设
  • 萍乡商城网站建设长沙网站优化外包公司