我对Qt 4.8有一个奇怪的问题。 我希望显示一个带有西里尔字符的QMessageBox,我这样做:
QMessageBox mb(messageTitle,messagetoDisplay,QMessageBox::Question,QMessageBox::Yes | QMessageBox::Default,QMessageBox::No | QMessageBox::Escape,QMessageBox::NoButton,this);
其中messageTitle和messagetoDisplay是QString,其中填充了一个从UTF-8文件中获取西里尔字符串的函数,其中每行都是类似的 "拉丁字符串" ="西里尔字符串":
if (inputFile.open(QIODevice::ReadOnly))
{
QTextStream in(&inputFile);
in.setCodec("UTF-8");
while (!in.atEnd())
{
QStringList line = in.readLine().split('=');
qDebug()<<line<<origMsg;
if((line.length()==2) && (QString::compare(origMsg,line.at(0)) == 0))
{
inputFile.close();
QString returned = line.at(1);
return returned.replace("\\n","\n");
}
}
inputFile.close();
}
问题是,如果我使用mingw在Windows上编译和运行一切正常,但是当我在Qt 4.8嵌入式编译并运行时,消息框将具有正确的西里尔文标题,但文本将不会显示任何西里尔文字符...
有什么想法吗?
谢谢和最诚挚的问候。