【问题标题】:Polish characters in QT app [closed]QT应用程序中的波兰语字符[关闭]
【发布时间】:2015-08-22 11:10:22
【问题描述】:

我的应用程序有问题。 我是 Qt 的初学者,所以我尝试制作密码。 一切正常,但所有波兰语字符(ó、ę、ź、ż、ą)都有问题。我的意思是有可见的方块不是文本(QplainText)。

更新:问题与适当的编码有关,.toLatin 方法有时不支持国家字符,为您的应用程序提供 ó,ę 等。 您必须将方法从拉丁语更改为 unicode 或自行编码。 这篇文章适用于所有有问题的人。可悲的是,所有 qt 论坛都只说拉丁方法 这对我来说不好

【问题讨论】:

  • 有正方形是什么意思?在 qt creator 还是 qtextedit 中?通常,正方形意味着文本渲染器找不到合适的字体来重新渲染文本。也许您的系统没有安装波兰语字体,或者波兰语字符没有被解释为波兰语字符而是一些无法识别的字符。
  • 我在 linux 上,所以不应该是某些字符无法识别,但似乎是这样。我有 QlineEdit,我在其中输入文本,当我单击按钮时,转换后的文本显示在 QPlaintextedit 上,并且有这些方块。
  • 在任何操作系统上,如果没有字体来呈现字符,则字符无法识别(可能是方形)。您需要为您的问题提供一个最简单的可测试示例。
  • 那么什么是解决方案?
  • 为您的问题提供一个最简单的可测试示例

标签: c++ qt


【解决方案1】:

好的,我找到了解决方案! :)

在我的代码看起来像之前

QString Encrypted;
for(int i = 0 ; i < Text.length() ;i++)
{

  Encrypted[i] = Text[--n].toLatin()-b; // where b is random int


}

我将方法从 .toLatin 更改为 .unicode 并且一切正常; )

【讨论】:

    【解决方案2】:

    您需要将代码文件的编码更改为 unicode。

    How can I embed unicode string constants in a source file?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-14
      • 2016-12-09
      相关资源
      最近更新 更多