QMessageBox不显示Unicode字符

时间:2017-05-12 08:29:47

标签: c++ qt unicode qmessagebox

我对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嵌入式编译并运行时,消息框将具有正确的西里尔文标题,但文本将不会显示任何西里尔文字符...

有什么想法吗?

谢谢和最诚挚的问候。

0 个答案:

没有答案