我有一个带有按钮的应用程序,这些按钮为各种单击状态设置了图标,没有设置或显示任何实际的QPushButton文本;它们都包含在图标中。
这些图标文件包括需要翻译的文本,并且已经为每种语言和州生成。我正在寻找一种方法,可以使用QTranslator或QAction类来根据所选的主语言自动选择使用哪个本地化版本的按钮。
例如:
BTN_Media_Browse->setIcon(QIcon(QPixmap(tr(":/Images/BTN_Media_Browse_Unpressed.png"))));我已经按照QT Wiki: Multi Language Application上的说明进行了操作,但在生成的翻译(.ts)文件中没有显示按钮。基于语言的每个使用实例都有一个切换盒是不理想的。
发布于 2017-08-23 15:47:10
要根据用户的语言环境使用不同的图标,可以在.qrc文件中添加具有lang属性的qresource部分。
例如:
<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>然后,您可以使用如下代码来使用它:
BTN_Media_Browse->setIcon(QIcon(":/Images/BTN_Media_Browse_Unpressed.png"));https://stackoverflow.com/questions/45722308
复制相似问题