qt-QT国际化动态转换:为什么转换不了呢

问题描述

QT国际化动态转换:为什么转换不了呢
#include ""mainwindow.h""
#include
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
b_1(NULL)
b_2(NULL)
translator(NULL)
{
translator=new QTranslator;
b_1=new QPushButton(this);
b_2=new QPushButton(this);
connect(b_1SIGNAL(clicked())thisSLOT(LangChanged1()));
connect(b_2SIGNAL(clicked())thisSLOT(LangChanged2()));
updateUi();

}
void MainWindow::updateUi()
{
setWindowTitle(tr(""Main Frame""));
b_1->setText(tr(""中文""));
b_2->setText(tr(""english""));
b_1->setGeometry(10 30 80 30);
b_2->setGeometry(110 30 80 30);

}

void MainWindow::LangChanged1()
{
QString exePath=QApplication::applicationDirPath();
QString QmName;
QmName=""chinese.qm"";
if(translator->load(QmNameexePath))
{
qApp->installTranslator(translator);
}
updateUi();
}

void MainWindow::LangChanged2()
{
QString exePath=QApplication::applicationDirPath();
QString QmName;
QmName=""english.qm"";
if(translator->load(QmNameexePath))
{
qApp->installTranslator(translator);
}
updateUi();
}

MainWindow::~MainWindow()
{

}

解决方案

两个槽函数虽然都加载了语言文件,但接着又调用了updateUi()

 void MainWindow::updateUi(){    setWindowTitle(tr(""Main Frame""));    b_1->setText(tr(""中文""));    b_2->setText(tr(""english""));    b_1->setGeometry(10 30 80 30);    b_2->setGeometry(110 30 80 30);}

所以b_1一直显示""中文"" b_2一直显示""english""

时间: 2024-11-30 04:14:25

qt-QT国际化动态转换:为什么转换不了呢的相关文章

js中的时间转换—毫秒转换成日期时间的示例代码

 本篇文章主要是对js中的时间转换-毫秒转换成日期时间的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 js毫秒时间转换成日期时间   代码如下: var oldTime = (new Date("2011/11/11 20:10:10")).getTime(); //得到毫秒数   大多数是用毫秒数除以365*24*60*60&1000,这么转回去,这种方法转换太过复杂,年月日,时分秒都要不同的方法获取,而且有的年份有366天,有的365天,这么算起来就太过

《BI那点儿事》数据流转换——模糊查找转换

原文:<BI那点儿事>数据流转换--模糊查找转换 BI项目中经常会有一些提取,转换,数据处理(ELT)的工作,其中最主要的是处理过赃数据.假设在项目中我们向数据库中注入了测试数据,但是通过一个外键从另外一个表中载入数据的时候没有对应的数据,那么这一行就是赃数据.这时候可以使用SQL中的Sound-Ex,full-text,相似度算法等方法查找.这种策略需要花费大量的时间和精力来设计算法,测试,维护,并且它们都是基于词汇的,复用的可能性很小.也可能你会放弃自己处理并把它抛给一些有经验的高手专家来

《BI那点儿事》数据流转换——查找转换

原文:<BI那点儿事>数据流转换--查找转换 查找转换通过联接输入列中的数据和引用数据集中的列来执行查找.是完全匹配查找.在源表中查找与字表能关联的所有源表记录.准备数据.源表 T_QualMoisture_Middle_Detail字典表 T_DIC_QualProcess数据流任务设计图: 设计步骤:

Qt之国际化

简介 Qt国际化属于Qt高级中的一部分,本想着放到后面来说,上节刚好介绍了Qt Linguist,趁热打铁就一起了解下. 对于绝大多数的应用程序,在刚启动时,需要加载默认的语言(或最后一次设置的语言).在使用的过程中,我们也不需要重启应用程序而实现语言的动态切换.这样的话,易用性就非常好了. 简介 多语言切换 源码分析 添加翻译源 翻译 发布翻译 加载翻译文件 源码下载 多语言切换 要进行多语言的切换,需要执行以下步骤: 对用户可见的文本信息全部使用tr()进行封装 提供用户可以用来切换语言的一

C++对象布局及多态实现之动态和强制转换

为了验证前面提到过的类型动态转换(即dynamic_cast转换),以及对象类型的强制转换.我们利用前面定义的C041.C042及C082类来进行验证. 运行下列代码: c082.C041::c_ = 0x05;PRINT_VTABLE_ITEM(c041, 0, 0)PRINT_DETAIL(C041, ((C041)c082))PRINT_VTABLE_ITEM(((C041)c082), 0, 0)PRINT_VTABLE_ITEM(c082, 5, 0)C042 * pt = dynam

Qt之国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)

简介 使用Qt的时候,经常会遇到英文问题,例如:QMessageBox中的按钮.QLineEdit.QSpinBox.QScrollBar中的右键菜单等.通常情况下,我们软件都不会是纯英文的,那么如何处理这些问题呢?其实这也属于国际化的一部分. 下面,以中英文切换为例来为大家分享,其它语言切换类似. 简介 查找翻译文件 加载翻译文件 切换语言 查找翻译文件 qt_zh_CN.qm 见名知义,这正是处理中文的翻译文件. 我们可以从Qt的安装目录中找到它,以我的目录为例:D:\Qt\Qt5.5.1\

动态一维表转换二维表问题!!!

问题描述 这里有一个一维表,如下所示:T1W10T1W20T1W30T2W11T2W21T3W12.........这个表是动态生成的,需要转换成如下二维表:T1T2T3...W1012...W201-1...W30-1-1..................主要难点是T和W的个数不确定,并且有些是没有数据的,例如T3-W2等,当没有数据时需要用-1来进行填充,求各位大虾,把这个一维表转成二维表的sql语句怎么写?谢谢!!! 解决方案 解决方案二:补充一下,数据库中的是一维表,想把它转换成二维表

使用Flash转换王转换SWF动画为DVD视频文件

  第1步,完成下载安装过程后运行Flash转换王,打开程序主界面.在主界面右上方的"转换后保存的路径"区域单击"浏览"按钮,设置转换后的视频文件的保存位置.然后依次单击"添加一个Flash文件"→"添加一个Flash文件"按钮,如图1所示. 图1 添加一个Flash文件 小提示:如果单击"添加目录下的所有Flash文件"按钮可以一次性添加多个Flash文件,这样可以实现批量转换.不过试用版本没有此功能.

date和string转换-格式转换问题date 麻烦大家解释的详细一点,应该怎么改才能没错误 !

问题描述 格式转换问题date 麻烦大家解释的详细一点,应该怎么改才能没错误 ! 这是错误提示:HTTP Status 500 - java.lang.IllegalArgumentException: Cannot format given Object as a Date type Exception report message java.lang.IllegalArgumentException: Cannot format given Object as a Date descript