1

我有一个 Unicode 问题。德语字母ä,üöß显示为黑色菱形中的白色问号。我QAbstractTableModel在 Qt5.5.1 中做了一个。

我的文档是 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")
4

1 回答 1

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);
[..]
于 2016-03-31T07:46:31.143 回答