首页| 论坛| 消息

标题:在QT3如何实现多语言动态切换
作者:anthonymo200
日期:2011-04-18 14:48
内容:

基于Qt3下的UI编程, 在main.cpp中定义了
QApplication app;
QTranslator translator;
translator.load(QString("lang_") + QTextCodec::locale());
app.installTranslator(&translator);
在启动的时候更具系统环境变量的本地语种进行语言设置, 实现多语种是没有问题的,
但如果我们在程序运行的时候, 改变语种的话,不重起系统。 如何实现呢 ?

我看到一些代码
void MainWindow::ch_language()
{
if(this->languageState)
{
this->languageState=CHINESE ;
this->translator.load("test_ch") ;
this->pOwner->installTranslator(&(this->translator));
}
else
{
this->languageState=ENGLISH ;
this->translator.load("test_en") ;
this->pOwner->installTranslator(&(this->translator));
}
}
难道在每个窗体里面都需要定义个translator , qApp 吗 ? 对于QT3是否合适呢?
是否有一种方法可以在main.cpp中实现一个connect(), 在界面改变语种的时候,
在main.cpp中运行一次槽函数来改变加载的字体。


#1 [anthonymo200 04-18 17:56]
自己来顶帖子, 用qApp->installTranslator()就可以解决了, 原来qApp这个是窗体里面固定有的。
#2 [anthonymo200 05-03 11:42]
最近发现上一条回复是错的。

回复 发表
主题 版块