【发布时间】:2015-09-17 05:42:45
【问题描述】:
我有一个 QLineEdit,用户将在其中输入一个名称(不一定是人名),并且不会呈现字符。 它看起来像:
如何配置 QLineEdit 编码以使该字符可见?
【问题讨论】:
-
你试过
QLocale吗?作为lineEdit.setLocale(QLocale::Chinese); -
还是不行...
-
QtCreator (3.2, Qt 5.3) 本身无法正确显示该字符。该版本的 Qt 完全支持 Unicode 6.2。确保为 6.2 定义了该字符:unicode.org/Public/6.2.0/charts/CodeCharts.pdf。
-
这不是语言环境问题。 Qt(它的所有 UI 组件)都支持 Unicode,因此只要字体包含其图形表示,您就应该能够透明地使用 unicode 字符而不会出现任何问题。我认为问题在于象形文字是在 Unicode 6.2 之后引入的。 (顺便说一句,与 OSX 10.9 支持的版本相同)。
-
TL;DR:目前看来至少 Qt 5.3 仍然无法处理这个字符。尝试使用最新版本。不过,您可以轻松地修补 Qt 以添加对这个字符的支持。
标签: string qt unicode utf-8 utf-16