pyqt界面语言中英文转换

直接上步骤:

  1. 首先定义翻译器,在窗体类的__init__方法中定义翻译器
def __init__(self):
# Desine the translator to translate interface languages.
        self.trans = QTranslator(self)
  1. 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文件
在这里插入图片描述

  1. 得到窗体的实例化的QApplication对象
_app = QApplication.instance()  # 得到创建的应用程序实例

_app就是在程序中创建的应用程序实例了

  1. 为了程序中的结构不被破坏,一般使用_app调用它的installTranslator为它"安装"一个"翻译"。installTranslator的参数是定义的翻译器,即self.trans
_app.installTranslator(self.trans)
  1. 重新翻译界面
self.retranslateUi(self)

核心代码:

from Window import Ui_MainWindow
 
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from  PyQt5.QtGui import *
import sys
 
class 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

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: PyQt5是Python绑定的Qt库,它提供了用于创建图形用户界面(GUI)应用程序的工具。在PyQt5中,有许多类和模块用于不同的 GUI 元素和功能。下面是一些PyQt5中常见类的中英文对照: 1. QApplication - 应用程序 2. QWidget - 窗口 3. QMainWindow - 主窗口 4. QDialog - 对话框 5. QLabel - 标签 6. QPushButton - 按钮 7. QLineEdit - 单行文本框 8. QTextEdit - 多行文本框 9. QCheckBox - 复选框 10. QRadioButton - 单选按钮 11. QComboBox - 下拉框 12. QListView - 列表视图 13. QGraphicsView - 图形视图 14. QTableWidget - 表格视图 15. QMessageBox - 消息框 16. QFileDialog - 文件对话框 17. QMenuBar - 菜单栏 18. QAction - 菜单项 19. QToolBar - 工具栏 20. QStatusBar - 状态栏 21. QVBoxLayout - 垂直布局 22. QHBoxLayout - 水平布局 23. QGridLayout - 网格布局 24. QTimer - 定时器 25. QPixmap - 图片 以上只是一些常见的类,PyQt5还有许多其他类和模块可以用于更复杂的 GUI 应用程序开发。这些类的中英文对照可以帮助开发者了解和使用PyQt5中的不同功能和元素。 ### 回答2: PyQt5是一个功能强大的Python图形用户界面(GUI)工具包。它提供了丰富的类和方法来创建交互式GUI应用程序。下面是一些常用的PyQt5类及其对应的英文对照: 1. QApplication:应用程序类 2. QMainWindow:主窗口类 3. QWidget:窗口类 4. QLabel:标签类 5. QLineEdit:文本输入框类 6. QPushButton:按钮类 7. QRadioButton:单选按钮类 8. QCheckBox:复选框类 9. QComboBox:下拉框类 10. QSlider:滑动条类 11. QProgressBar:进度条类 12. QMenuBar:菜单栏类 13. QMenu:菜单类 14. QAction:操作类 15. QMessageBox:消息框类 16. QFileDialog:文件对话框类 17. QHBoxLayout:水平布局类 18. QVBoxLayout:垂直布局类 19. QGridLayout:网格布局类 20. QTabWidget:选项卡类 这些类是PyQt5中常用的一些类,可以通过实例化它们并调用其相应的方法来创建和操作GUI组件。在PyQt5的文档中可以找到更多类和方法的详细说明和用法示例。 ### 回答3: 在PyQt5中,有许多类和对应的英文名称,下面是一些常见类的中英文对照: 1. QApplication - 应用程序 2. QMainWindow - 主窗口 3. QWidget - 窗口控件 4. QLabel - 标签 5. QPushButton - 按钮 6. QLineEdit - 文本输入框 7. QCheckBox - 复选框 8. QRadioButton - 单选按钮 9. QComboBox - 下拉框 10. QSpinBox - 数字微调框 11. QSlider - 滑动条 12. QTextEdit - 文本编辑框 13. QListView - 列表视图 14. QTableView - 表格视图 15. QTreeWidget - 树视图 16. QPixmap - 图片 17. QPainter - 绘图工具 18. QFileDialog - 文件对话框 19. QMessageBox - 消息框 20. QTimer - 定时器 以上只是一些常见的类,PyQt5提供了更多强大的类库,用于开发各种图形用户界面应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习的贝塔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值