我有一个带有按钮的应用程序,这些按钮具有为各种点击状态设置的图标,没有设置或显示实际的QPushButton文本;它全部包含在图标中。
这些图标文件包含需要翻译的文本,并且已针对每种语言和状态生成。我正在寻找一种方法来使用QTranslator或QAction类根据所选主语言自动选择要使用的按钮的本地化版本。
例如:
BTN_Media_Browse->setIcon(QIcon(QPixmap(tr(":/Images/BTN_Media_Browse_Unpressed.png"))));
我已按照QT Wiki: Multi Language Application上的说明操作,但按钮未显示在生成的翻译(.ts)文件中。根据语言为每个使用实例设置一个开关盒并不理想。
答案 0 :(得分:0)
要根据用户的区域设置使用不同的图标,您可以在.qrc文件中添加fireAllRules
部分qresource
属性。
例如:
lang
然后你可以使用这样的代码:
<qresource>
...
<file alias="Images/BTN_Media_Browse_Unpressed.png">Images/BTN_Media_Browse_Unpressed_en.png</file>
...
</qresource>
<qresource lang="de">
...
<file alias="Images/BTN_Media_Browse_Unpressed.png">Images/BTN_Media_Browse_Unpressed_de.png</file>
...
</qresource>