Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt应用程序Ui多语言支持:相应地更改图像_Qt_User Interface_Multilingual - Fatal编程技术网

Qt应用程序Ui多语言支持:相应地更改图像

Qt应用程序Ui多语言支持:相应地更改图像,qt,user-interface,multilingual,Qt,User Interface,Multilingual,我使用UI设计器设置表单布局。我想在手机的系统设置中更改语言设置时,将按钮背景图像更改为另一个。我该怎么做?我知道如何支持文本的多语言,但我不知道如何支持图像的多语言。谢谢当语言更改时,将调用。从文件中: 安装或拆卸QTranslator, 或更改已安装的QTranslator 为生成LanguageChange事件 QCoreApplication实例。A. QApplication实例将传播 事件将被发送到所有顶级窗口, 重新实施 changeEvent可以重新翻译用户 界面通过传递用户可见

我使用UI设计器设置表单布局。我想在手机的系统设置中更改语言设置时,将按钮背景图像更改为另一个。我该怎么做?我知道如何支持文本的多语言,但我不知道如何支持图像的多语言。谢谢

当语言更改时,将调用。从文件中:

安装或拆卸QTranslator, 或更改已安装的QTranslator 为生成LanguageChange事件 QCoreApplication实例。A. QApplication实例将传播 事件将被发送到所有顶级窗口, 重新实施 changeEvent可以重新翻译用户 界面通过传递用户可见 字符串通过tr()函数传递到 各自的属性设置器。 Qt生成的用户界面类 设计器提供了一个重传接口() 可以调用的函数


因此,您应该在顶级窗口中重新实现,并在事件发生时更改其中的图像。

所有图像都在qrc文件中。qrc文件是否支持多语言?如果有,有什么例子吗?@catinred:好吧,图像来自哪里并不重要。只需从资源文件中加载特定语言的图像,并使用任何方法将其绘制为按钮的背景,但我有几十种。有什么方便的方法吗?我不认为Qt提供了一些方便的方法,所以你必须自己找到一些方法。也许您可以根据语言代码命名图像(例如,
en.jpg
fr.jpg
,…),以便在运行时轻松构建这些名称。