2

我有一个使用 Qt 4 构建的应用程序。它使用 latin-1 作为源代码,我总是使用 QString::fromLatin1。但是,当尝试移植到 Qt 5 时(实际上,我同时使用了 Qt 5 和 Windows 8,但我不认为这是 Windows 的错)编码实际上看起来有点正确,在文本之前/之后有一些奇怪的空间。

这是使用 Qt 5 / Windows 8 运行的应用程序:

截屏

如您所见,çand 和ãdo 看起来是正确的,它们之间添加了一些奇怪的空格。此外,ó字符显示正确,没有空格。

这就是我设置 QLabel 的方式:

m_msgWelcome->setText(QString("Bem vindo ao biocódigo!\nSelecione uma opção ao lado para iniciar"));

我已经尝试了这两种方法QString::fromUtf8,但都QString::fromLatin1没有成功。

4

1 回答 1

1

使用 Qt5,通常,您可以将所有文件保存为 UTF-8(无需使用类似的方法QString::fromAnythingEncoding)。

使用 Qt Creator,您可以通过以下方式执行此操作:编辑然后选择编码(适用于所有文件)。

对于将来,您还可以更改默认设置:工具>选项>文本编辑器>行为>默认编码,然后输入UTF-8

如果间距问题仍然存在,请尝试使用不同的字体。

于 2013-11-03T02:15:12.343 回答