阻止Qt翻译动态属性

时间:2016-10-10 10:19:48

标签: c++ qt user-interface

我正在使用Qt 5.6.0。

我有一个ui表单,在语言更改时重新翻译。 在Creator和设计器部分内部,我添加了一个带有字符串"style"的动态属性。

此动态属性负责为pushButton设置正确的样式表。问题在于,当我更改语言时,我的动态属性和相关的样式表不起作用。

我还发现函数retranslateUi()是在语言更改时执行的,其中包含以下语句:

pushButton->setProperty(
    "style",
    QVariant(
        QApplication::translate("MainWindow", "button", 0)
    )
);

问题是我可以做些什么来阻止Qt将QApplication::translate()放入生成的ui_classname.h文件中。

OR, 如果QApplication::translate()不是原因,那我该如何解决问题?

1 个答案:

答案 0 :(得分:4)

由于您在Designer中创建了表单,因此您需要取消选中"可翻译的"属性编辑器停靠栏中每个属性实例的复选框:

  

'translatable' checkbox