c++ - Qt 5编码问题

标签 c++ qt user-interface utf-8 qt5

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

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

Screenshot

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

这就是我设置 QLabel 的方式:

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

我已经尝试了 QString::fromUtf8QString::fromLatin1 但没有成功。

最佳答案

使用 Qt5,通常情况下,您只需将所有文件保存为 UTF-8(无需使用 QString::fromAnythingEncoding 之类的方法)。

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

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

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

关于c++ - Qt 5编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19578811/

相关文章:

java - 如何获得 Java 中唯一字符串列表的随机排序?

python - 在漫长的过程中与 Tkinter 窗口交互

c++ - 具有int变量乘法的int数组给出错误的结果c++

C++ : Accessing private member of base or global variable from a derived class

Qt 插件接口(interface)中模板类的 C++ 替代方案

qt - QML:通过父引用引用根窗口是不可靠的

c++ - 数组新表达式中的直接初始化与列表初始化

C++ 模板元编程静态类型检查

linux - 嵌入式 Linux 上的 Qt 应用程序自动运行 - "xcb"错误

c# - 如何在 c#/.net 中实现编辑 -> 复制菜单