Столкнулся с такой проблемой: код написан в win-1251, в этом коде в текстовая метка должна отобразить текст (setText()) строковой константы содержащей русский текст, но вместо русского текста она показала абракадабру. Прочитал что все классы работающие с отображением текста работают в юникоде. Пробовал исходный код перекодировать в различные варианты юникода, utf8 не дал желаемого результата, а при кодировках с 16-разрядной и более шириной символа компилятор (g++) сообщает что не понимает содержимого. Вопрос заключается в следующем, можно ли отображать русские символы не прибегая к обертыванию строк в функции пребразования (типа tr()) и не меняя компилятор (и соответственно кодировку исходников, разве что только в utf8)?
Ну для пользовательских текстовок стандартное средство tr(). Почему вы его избегаете мне не понятно. Ваше дело.
Смотрите в сторону void QTextCodec::setCodecForCStrings ( QTextCodec * codec ) [static]