QAbstractTableModel和Unicode(德语变音符号)

时间:2016-03-31 07:38:29

标签: c++ qt unicode diacritics qabstracttablemodel

我有一个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")

1 个答案:

答案 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);
[..]