QTextBrowser不显示非英文字符

时间:2015-05-28 11:08:40

标签: c++ windows qt qtextbrowser

我正在开发一个Qt GUI应用程序来解析一个使用wchar_t(默认的UTF-16编码)存储unicode文本的自定义Windows二进制文件。我使用public function myMethod() { ... $foo = "bar"; var_dump($foo); return true; } 构建了QString并将其传递给QString::fromWcharArray,就像这样

QTextBrowser::insertPlainText

显示的文本正确显示ASCII字符,但非ASCII字符显示为矩形框。我在调试器中跟踪了代码,wchar_t *p = ; // pointer to a wchar_t string in the binary file QString t = QString::fromWCharArray(p); ui.logBrowser->insertPlainText(t); 指向了有效的wchar_t字符串,构造的p也是与wchar_t字符串匹配的有效字符串。在QString t上打印出来时会出现问题 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

首先read documentation。因此,根据系统,您将拥有不同的编码UCS-4UTF-16wchar_t的大小是多少?

其次有替代API:尝试QString::fromUtf16

最后你使用的是什么角色?希伯来语/西里尔/日本/ ???。您确定您使用的字体是否支持这些字符?

相关问题