我有一个Unicode问题。德语字母ä
,ü
,ö
和ß
仅在黑色菱形中显示为白色问号。我在Qt5.5.1中创建了QAbstractTableModel
。
我的文档是UTF-8编码的。我已经试过了,但我仍然遇到同样的问题。
QVariant bodyPartModel::data(const QModelIndex &index, int role) const
{
switch (role){
case Qt::DisplayRole:
if (col == 0 && row == 0) return tr("ü");
if (col == 0 && row == 2) return String::fromUtf8("ä");
//
}
有没有人知道如何正确显示这些字符?
编辑:是的我需要一个字符串,我在这个例子中只使用了一个字符。
感谢Adriano Repetti,这就是解决方案:
QString::fromWCharArray(L"Steißbein")
答案 0 :(得分:0)
如果您需要返回单个字符,我建议您执行以下操作:
QVariant bodyPartModel::data(const QModelIndex &index, int role) const
{
switch (role){
case Qt::DisplayRole:
if (col == 0 && row == 0) return QChar(0x00FC);
if (col == 0 && row == 2) return QChar(0x00E4);
[..]