У меня проблема с Unicode. Немецкие письма ä
, ü
, ö
и ß
видны только как белый вопросительный знак в черном ромбе. Я сделал QAbstractTableModel
в Qt5.5.1.QAbstractTableModel и Unicode (немецкий умлауты)
Мой документ имеет кодировку 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("ä");
//
}
Кто-нибудь знает, как правильно отображать эти символы?
изменить .: Да, мне нужна строка, я просто использовал один символ в этом примере.
И благодаря Адриано Репетти, это было решение:
QString::fromWCharArray(L"Steißbein")
ли вам нужно, чтобы показать один символ? – vahancho
Это не строка UTF-8, простой способ - вернуть QString :: fromWCharArray (L "ä") '. Вы _may_ используете одиночный 'QChar', если у вас действительно есть один символ (и вам не нужно будет обрабатывать e + '), но я предпочитаю общую форму. –