QAbstractTableModel和Unicode(德语元音变音符)

QAbstractTableModel and Unicode (german umlauts)

本文关键字:音符 德语 Unicode QAbstractTableModel      更新时间:2023-10-16

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

如果您需要返回单个字符,我建议您执行以下操作:

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