我们正在开发一个 Qt 桌面应用程序。应用程序可以在每个选项卡中打开多个文件,并且每个选项卡(文件)都有自己的上下文。用户可以打开多个文件并在这些选项卡之间切换。
例如:就像一个选项卡是卡车管理,工具栏中的操作(add_Vehicle)应该显示工具提示“添加卡车”,如果另一个选项卡是汽车管理,相同的操作应该显示工具提示“添加汽车”。
有很多这样的事情:
如果我删除卡车(即卡车管理选项卡中的车辆),它应该显示消息框“卡车已成功删除”。如果汽车(即汽车管理选项卡中的车辆)被删除,则应显示“汽车已成功删除”消息。
有一些对话框通过 QtDesinger 直接将文本设置为 QLabels。
这个问题是怎么产生的?
以前该应用程序仅支持卡车管理,现在我们正在同一应用程序中添加对汽车管理的支持。所有消息/UI 标签/工具提示都使用“卡车”。现在我们要根据打开的标签(文件)来改变它。
可行的想法解决方案:(不在运行时工作)
所有的 UILabels/ToolTips/Messages 都是可翻译的[即用 QObject::tr(..) 编写的]。我们考虑根据选项卡上下文安装 QTranslator,它会自动更改所有位置的文本。安装 QTranslator 运行时不起作用。
还有另一种方法吗?或者任何指针/提示都会非常有帮助。