Qt 4.6 QtCreator 2.0.0Есть некая программа, в main.cpp я делаю так
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
QTextCodec::setCodecForCStrings(codec);
исходники тоже в кодировке cp1251, все работает замечательно, все русские тексты отображаются как надо. но вот есть один QString который определен как static член класса, примерно так:
в *.h файле
static const QString dbStrings[][5];
в *.cpp файле
const QString Global::dbStrings[][5] =
{
{"xxx","тут русский текст","и тут тоже","xxx","xxx"},
{"xxx","тут русский текст","и тут тоже","xxx","xxx"}
}
И вот везде где я его использую он пишется кракозябрами. Что делать, не знаю. Думаю в сторону того что инициализация статических членов класса происходит до вызова setCodecForCStrings.
И как быть?
А, вот, еще одна проблема. Есть некий диалог, производный от QDialog, на нем есть QDialogButtonBox c 2-мя кнопками - Ok и Cancel. Так вот в дизайнере форм оно выглядит как надо, по русски: Да и Отмена, а при запуске программы почему то Ok и Cancel. Свойство Locale во всех контролах - Russian,RussianFedefation. Почему так - тоже не понятно.