1

ユニコードの問題があります。ドイツ語の文字äüöおよびßは、黒いひし形に白いクエスチョン マークとしてのみ表示されます。QAbstractTableModelQt5.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("ä");
    //
}

これらの文字を正しく表示する方法を知っている人はいますか?

edit .: はい、文字列が必要です。この例では 1 つの文字を使用しました。

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 に答える