Russian Qt Forum
Июнь 16, 2024, 00:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt 4.0.1, Designer русские кнопочки  (Прочитано 8729 раз)
Agriop
Гость
« : Декабрь 13, 2005, 14:35 »

Создаю дизайнером форму, на ней кнопочку "Add", он генерирует header-файл, в котором есть метод:
Код:
void retranslateUi(QWidget *SettingsDialogClass) {
    addGroupButton->setText(QApplication::translate("SettingsDialogClass", "Add", 0, QApplication::UnicodeUTF8));
}

пока все понятно, переименовываю кнопочку в "Добавить", код получается такой:
Код:
addGroupButton->setText(QApplication::translate("SettingsDialogClass", "\357\277\275\357\277\275\357\277\275\357\277\275", 0, QApplication::UnicodeUTF8));

Уже как-то некрасиво, ну да ладно, если бы оно еще работало. При предварительном просмотре окошка текст выдается правильно, а при запуске программы крокозябры.
Пробовал сам туда писать так:
Код:
addGroupButton->setText(QApplication::translate("SettingsDialogClass", "Добавить", 0, QApplication::UnicodeUTF8));

Тоже крокозябры, только другие. Оно в общем-то и понятно, потому что последним параметром Designer пишет QApplication::UnicodeUTF8, а надо бы QApplication::DefaultCodec, а в main() добавить следующий код:
Код:
QTextCodec *russianCodec = QTextCodec::codecForName("Windows-1251");
QTextCodec::setCodecForTr(russianCodec);

Так вот, как сделать, чтобы Дизайнер сам создавал такого рода код, не менять же ген-файл каждый раз?

Код:
addGroupButton->setText(QApplication::translate("SettingsDialogClass", "Добавить", 0, QApplication::DefaultCodec));
Создавать translate-файлы мне не хочется, не писать же их для любой простейшей программки. Дизайнер у меня встроен в MSVC.NET.
Записан
DenKor
Гость
« Ответ #1 : Декабрь 13, 2005, 14:53 »

В 4.1.0 вроде обещали поправить в Дизайнере глюк с utf8.
Записан
Dendy
Гость
« Ответ #2 : Декабрь 13, 2005, 16:01 »

Qt 4.1 RC1 - Все працює! Веселый

Ніяких кодеків у коді не потрібно. Дизайнер пише в Юнікод, за що йому велике пасибі.
Записан
sector
Гость
« Ответ #3 : Декабрь 14, 2005, 06:39 »

Все работает в таком виде:

Код:
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF8"));
. . .
mainWin.setWindowTitle(QObject::tr("Привет"));


Если под виндой то соответственно "utf8"
Записан
FrankS
Гость
« Ответ #4 : Декабрь 14, 2005, 11:29 »

Цитата: "Dendy"
Qt 4.1 RC1 - Все працює! Веселый

Ніяких кодеків у коді не потрібно. Дизайнер пише в Юнікод, за що йому велике пасибі.


Не понял, а он уже есть?
Записан
ElderOrb
Гость
« Ответ #5 : Декабрь 14, 2005, 11:35 »

Давно уже есть, по-крайней мере у Dendy. Мало того, он даже предлагал выложить, только некуда. А Racheengel проигнорировал этот благородный порыв Грустный
Записан
FrankS
Гость
« Ответ #6 : Декабрь 14, 2005, 11:37 »

А какой вес? дайте мне, я выложу...
Записан
Agriop
Гость
« Ответ #7 : Декабрь 14, 2005, 12:20 »

Цитата: "sector"
Все работает в таком виде:

Код:
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF8"));
. . .
mainWin.setWindowTitle(QObject::tr("Привет"));


Если под виндой то соответственно "utf8"

В таком виде конечно работает, а в том, что генерирует Дизайнер - нет, что же мне, все самому за него переписывать?

добавлено спустя 6 минут:

 
Цитата: "ElderOrb"
Давно уже есть, по-крайней мере у Dendy. Мало того, он даже предлагал выложить, только некуда. А Racheengel проигнорировал этот благородный порыв Грустный

Не пойму, в соседней же эхе говорили, что есть на тролловском сайте: http://www.trolltech.com/download/opensource.html в разделе Betas, но на то он и RC, что пока еще Release Candidate.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #8 : Декабрь 14, 2005, 12:23 »

Сорри, о чем меня просили выложить? Повторите плз...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
ElderOrb
Гость
« Ответ #9 : Декабрь 14, 2005, 12:28 »

У Dendy был интегратор под вижуал 2005 и Qt 4.1
Записан
FrankS
Гость
« Ответ #10 : Декабрь 14, 2005, 12:45 »

Цитата: "ElderOrb"
У Dendy был интегратор под вижуал 2005 и Qt 4.1


Блин, а я несколько часов качал 3 диска  vs2003net, т.к. думал что под 2005 еще нету интегратора...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 22.