我有一个使用 Qt 4 构建的应用程序。它使用 latin-1 作为源,我总是使用 QString::fromLatin1。然而,当尝试移植到 Qt 5 时(实际上,我同时使用了 Qt 5 和 Windows 8,但我不认为这是 Windows 的错)编码实际上看起来有点正确,文本前后有一些奇怪的空间。
这是在 Qt 5/Windows 8 上运行的应用程序:
如您所见,ç
和 ã
看起来是正确的,只是在它们之间添加了一些奇怪的空格。此外,ó
字符显示正确,没有空格。
这就是我设置 QLabel 的方式:
m_msgWelcome->setText(QString("Bem vindo ao biocódigo!\nSelecione uma opção ao lado para iniciar"));
我已经尝试了 QString::fromUtf8
和 QString::fromLatin1
但没有成功。
最佳答案
使用 Qt5,通常情况下,您只需将所有文件保存为 UTF-8(无需使用 QString::fromAnythingEncoding
之类的方法)。
使用 Qt Creator,您可以通过以下方式执行此操作:编辑,然后选择编码(对于您的所有文件)。
以后,您还可以更改默认设置:工具> 选项> 文本编辑器> 行为> 默认编码然后输入UTF-8。
如果间距问题仍然存在,请尝试使用不同的字体。
关于c++ - Qt 5编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19578811/