我想在QT中添加Unicode符号作为列表小部件项。 (特别是这个项目:http://www.fileformat.info/info/unicode/char/25B6/index.htm)
我使用以下方法:
this->addItem( new QListWidgetItem( QString::fromUtf8("\u25B6")) ) ;
但是当我打开小部件时,我看到只有一个空白矩形代替这个unicode符号。我甚至尝试过其他的unicode符号,但它们也只显示空白矩形。
这种方法有什么问题?
编辑:在听完答案之后,我将QListWidgetItem的字体改为Serif并且它有效。
答案 0 :(得分:1)
有几种可能性,但最可能的是你正在使用的字体根本没有实现字形。你能看到三角形吗?使用与Qt字体相同的字体时的编辑器?
编辑:字体(存储在系统的字体文件中)是在屏幕上绘制每个字符图像的命令。许多(如果不是全部)字体都是不完整的,这意味着它们无法代表unicode中可能存在的所有2,000,000,000个代码(代表字符的数字)。文件只是大到实用。
您想要打印的三角形是相当基本的,并且应该有许多字体集。解放Sans和Liberation Serif是我刚检查过的两个。
我怀疑Qt使用的是系统的字体集,可能会在某处的系统设置中进行更改。如果你告诉我们你正在使用哪个发行版(即Ubuntu,Debian,......),也许我们可以提供帮助。