在Qt中如何在运行时更改语言?

在Qt中如何在运行时更改语言?,qt,Qt,我正在用Qt框架编写一个多语言程序。我想在运行时更改语言。我在插槽中编写了下面的代码,但它不起作用 QTranslator translator; translator.load("arrowpad_tr"); qApp->installTranslator(&translator); 安装转换器仅意味着特定转换器可用。这由QCoreApplication的LanguageChange事件发出信号。您仍然需要调用的是retranslateUi()将负责Qt

我正在用Qt框架编写一个多语言程序。我想在运行时更改语言。我在插槽中编写了下面的代码,但它不起作用

    QTranslator translator;
    translator.load("arrowpad_tr");
    qApp->installTranslator(&translator);

安装转换器仅意味着特定转换器可用。这由QCoreApplication的LanguageChange事件发出信号。您仍然需要调用的是
retranslateUi()将负责Qt设计器小部件的实际翻译。对于自定义小部件,您必须根据事件创建类似的内容

小心重传错误,如。我为我的类添加更改事件代码,并为所有小部件添加setText(),但它再次不起作用…谢谢@Bart。好的…我向我的类添加一个QTranslator指针,在更改语言之前调用removeTranslator()函数,删除指针并从QTranslator创建一个新指针。。。