项目场景: Qt写的一个项目里面没有用到Qt的翻译功能,里面的控件命名都是汉语 例如: QMessageBox::question(this, "图片已修改", "还原将丢失已修改的图片,是否确认退出?", QMessageBox::Yes | QMessageBox::No); 问题描述: 当使用Qt自带的打印预览的对话框QPrintPreviewDialog时, 对话框的中的按钮提示信息却是英文的。 例如:Fit Width, Fit page等。 这些都没有汉化 原因分析: 这是因为这是Qt自己的控件,里面的提示我们无法改,而又没有加载相对应得中文翻译文件,所以它只能显示英文的。 解决方案: 因为这个项目是前面的人没有做相应的翻译功能,所以为了解决这个bug,我从Qt的安装目录下,找到了"**qt_zh_CN.qm**"翻译文件,然后在 代码中加载这个翻译文件, QTranslator translator; bool result = translator.load("qt_zh_CN.qm"); QApplication::installTranslator(&translator);