如何使用QT在Linux上正确显示unicode符号
How to properly display unicode symbols on Linux using QT?
我想在QT中添加一个Unicode符号作为列表小部件项目(特别是这个项目:http://www.fileformat.info/info/unicode/char/25B6/index.htm)
我使用以下方法:
this->addItem( new QListWidgetItem( QString::fromUtf8("u25B6")) ) ;
但是当我打开这个小部件时,我只看到一个空白的矩形代替了这个unicode符号。我甚至也尝试了其他unicode符号,但它们也只显示空白矩形。
这个方法有什么问题?
编辑:在遵循答案之后,我将QListWidgetItem的字体更改为Serif,它工作了
有几种可能,但最可能的一种是您使用的字体根本没有实现字形。你能看到这个三角形吗?编辑器时使用相同的字体作为您的Qt字体?
编辑:字体(存储在系统的字体文件中)是在屏幕上绘制每个字符图像的命令。许多(如果不是全部)字体是不完整的,这意味着它们无法表示unicode(表示字符的数字)中可能的所有200,000,000 +代码。这些文件太大了,不实用。
您想要打印的三角形是相当基本的,并且应该在许多字体集中可用。解放Sans字体和解放衬线字体是我刚刚检查过的两个。
我怀疑Qt使用系统的字体集,这可能可以在系统设置的某个地方改变。如果你告诉我们你使用的是哪个发行版(比如Ubuntu, Debian,…),也许我们能帮上忙。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- Unicode Chars显示为十进制数字而不是符号,我该如何修复
- Unicode 输出未显示在 Windows 控制台中
- QFile::打开失败,并显示 unicode 文件名
- 为什么非unicode应用程序系统语言环境使Unicode字体具有错误显示的符号字符
- 无法在Windows对话框上显示其他Unicode Eastern Lanuage
- GetComputerName()在Windows控制台中未正确显示Unicode
- 在 Windows 控制台中显示 unicode 棋子
- 如何使用 FLTK 显示 Unicode
- 记事本显示 Unicode 字符,因为文件是 ANSI
- 如何使用QT在Linux上正确显示unicode符号
- 阿拉伯语:'source' Unicode 到最终显示 Unicode
- 非unicode字符在windows 7 64位上显示为问号
- 在单个字符串中显示Unicode QString的QLatin1String连接
- C++ Mac 终端中不显示 Unicode
- 如何从文件中读取unicode并在QTextEdit中显示数据