QT 中tr()函数的使用

tr()

 函数tr()的原型是QObject::tr(),被它处理的字符串可以使用工具提取出来翻译成其他语言,也就是国际化使用。
 QString text = QObject::tr("hello");
 如果你为这个程序提供了中文翻译包(其中hello被翻译成中文"你好"),那么text的内容将是中文"你好";如果你为程序提供且使用日文翻译包,那么text的内容将是日文。

中文字符乱码

QString 采用的unicode,在中文支持上不存在任何问题
"我是中文" 这是传统的 const char * 的窄字符串
当将窄字符串赋值到QString时,我们需要告诉它我们的窄串采用的何种编码(gbk?、utf-8?)
究竟何种编码主要取决于我们的源代码文件的编码(windows上一般是gbk,其他平台一般utf-8)
可使用如下两行代码指定其编码格式:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QT creater 设置:工具->选项->文本编辑器->文件编码:选择utf8。

你可能感兴趣的:(QT)