在使用QT做界面的时候,一般直接使用UI设计器的话,在UI设计器上设置的中文字符,在显示的时候,一般不会出现问题,但是代码中设置的中文,则一般会出现乱码,即是使用tr();也不能够正确出来。在此,笔者验证了一个方法,可以完美解决这个尴尬的问题。使用两个函数做一些字符编码转化即可。
QString strToqstr(const string str){
return QString::fromLocal8Bit(str.data());
}
string qstrTostr(const QString qstr){
QByteArray cdata = qstr.toLocal8Bit();
return string(cdata);
}