Russian Qt Forum
Ноябрь 23, 2024, 01:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Невозможно вывести русский текст без tr()-ов...  (Прочитано 21975 раз)
Cyrax
Гость
« Ответ #15 : Декабрь 18, 2007, 10:10 »

Цитировать
Текст куда выводишь в консоль? или в гую?
Всё в GUI.

Цитировать
Желательно в нужной кодировке сохранять модули перед компиляцией, важный момент при
работе с левыми иде

Было подобное со скриптами в MySQL. Сохранил скрипт в DOS-кодировке, потом долго мучил MySQL, гадая почему тот русский текст козябликами выводит...

Цитировать
с левыми иде типа Q~
Q~ - это что ?
Записан
WW
Гость
« Ответ #16 : Декабрь 18, 2007, 12:16 »

Неа, "запуздыриванием иконки в трей" не занимаюсь. Delphi и Builder мучал когда-то.
До Qt работал на C#. Сейчас пытаюсь достичь того комфорта, который был при C# (пока безуспешно)...
Если жмут сроки - посмотри лучше в сторону Mono & Monodevelop. За 3 недели, что тебе отпущено на "большой проект" ИМХО с кути не разберешся и проект не закончишь. А там - пишешь на любимом шарпе в любимой студии, а потом только компилишь в моно.
Записан
-QT-
Гость
« Ответ #17 : Январь 02, 2008, 21:15 »

Пока Вы .... Веселый уважаемые не попробуете
действительную кроссплатформенность то эти
вопросы будут возникать постоянно.
Записан
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #18 : Апрель 24, 2008, 09:32 »

Цитировать
Невозможно вывести русский текст без tr()-ов...

была такая проблема. решил следующим образом:

QMessageBox::warning(this, QString::fromUtf8("Заголовок русскими буквами"), QString::fromUtf8("Не могу загрузить файл.xml")));

а русские стринги я так объявляю

QString(QString::fromUtf8("Русский текст"));

Пишу в FreeBSD, Kdevelop. (я думаю в винде также можно решить). Если не покатит, то нужно попробывать поменять  fromUtf8() на более подходящее.
Записан
Alex03
Гость
« Ответ #19 : Апрель 24, 2008, 11:04 »

juvf У Вас исходники в UTF8.

И в Вашем случае полезно заменить QString::fromUtf8() на trUtf8(),тогда будущая локализация будет несколько проще. Улыбающийся
Записан
juvf
Программист
*****
Offline Offline

Сообщений: 570


Просмотр профиля
« Ответ #20 : Апрель 25, 2008, 10:55 »

Alex03 спасибо за совет. попробую как-нибудь
« Последнее редактирование: Апрель 25, 2008, 11:33 от juvf » Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #21 : Май 08, 2008, 10:54 »

Код:
typedef char cKod[64];
QString    UTFkod=QApplication::trUtf8(
"йцукенгС?щзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМР?ТЬБЮ");

char WinKod[]="йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";

QString strUTF8(cKod kod)
{
  QString s;
  bool flag;
  s="";
  for (int i=0;i<255; i++)
  {
  if (kod[i]==0) break;
  flag=false;
  for (int j=0;j<64;j++)
  {
  if (kod[i]==WinKod[j])
  {
s.append(UTFkod[j]);
flag=true;
break;
  }
  }
  if (flag==false)
  s.append(kod[i]);
  }
  return(s);
}

пришем strUTF8("здесь был Вася");

Не очень красиво, зато работает без проблем
VC6+QT338
« Последнее редактирование: Май 08, 2008, 11:42 от pastor » Записан

Как мало времени и как много нужно узнать
Alex03
Гость
« Ответ #22 : Май 08, 2008, 16:26 »

...
пришем strUTF8("здесь был Вася");

Не очень красиво, зато работает без проблем
tmikola что это? и зачем?
Средствами Qt всё во всё преобразовывается без проблем, зачем такие извращения?
Читайте асистента в конце то концов.
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #23 : Май 11, 2008, 19:21 »

А писать по английски, а потом переводить в Лингвисте, лично для меня - лишний гемморой.
Программа будет только на русском языке.

А так, и тексте программы все по-русски, и на экране все по-русски...
« Последнее редактирование: Май 11, 2008, 19:23 от tmikola » Записан

Как мало времени и как много нужно узнать
Alex03
Гость
« Ответ #24 : Май 12, 2008, 06:42 »

tmikola Если Вы не хотите играть по правилам троллтеха то это не значит что надо изобретать свой велосипед, к тому же кривой и не производительный (уж извините)...
Ещё раз повторю что в Qt всё есть, и изобретать свои алгоритмы конвертации строк ......

Ну хотя бы так можно (насколько я понимаю у Вас исходники в вин1251):

Код:
#include <QApplication>
#include <QPushButton>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));

    QPushButton hello("Привет Мир!");
    hello.resize(100, 30);

    hello.show();
    return app.exec();
}

Более прямой способ - хранить исходники в UTF-8 и использовать  trUtf8().
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #25 : Май 14, 2008, 08:49 »

Я бы с удовольствием так сделал...
Но как заставить Визуал 6 понимать, что исходники на UTF8?
Записан

Как мало времени и как много нужно узнать
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #26 : Май 14, 2008, 18:01 »

tmikola Если Вы не хотите играть по правилам троллтеха то это не значит что надо изобретать свой велосипед, к тому же кривой и не производительный (уж извините)...
Ещё раз повторю что в Qt всё есть, и изобретать свои алгоритмы конвертации строк ......

Ну хотя бы так можно (насколько я понимаю у Вас исходники в вин1251):

Код:
#include <QApplication>
#include <QPushButton>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));

    QPushButton hello("Привет Мир!");
    hello.resize(100, 30);

    hello.show();
    return app.exec();
}

Более прямой способ - хранить исходники в UTF-8 и использовать  trUtf8().

Этот способ меня полностью устраивает. Спасибо Смеющийся
Записан

Как мало времени и как много нужно узнать
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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