Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt]Русский язык в приложении, включить русскую кодировку 
V
    Опции темы
saneea
Дата 9.11.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 13.7.2005

Репутация: -2
Всего: 0



Что нужно сделать, чтобы написав строчку
Код

cout << "Это русский текст\n";

я увидел в консоли "Это русский текст" вместо иероглифов?
PM MAIL   Вверх
Belirafor
Дата 9.11.2009, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 15.8.2009

Репутация: нет
Всего: нет



Делается так:
Код

#include "stdafx.h"
#include <iostream>        //Потоки ввод/вывод
#include <conio.h>        //_getch()

using namespace std;
int main()
{
    setlocale(0,"");          //Настраиваем кодировку
    cout << "Привет, Мир!" << endl;
    
    
    cout << "Для завершения нажмите любую клавишу...";
    _getch();
    return 0;
}


А вообще там все доступно описано в мане.

Это сообщение отредактировал(а) Belirafor - 9.11.2009, 23:56
PM MAIL   Вверх
saneea
Дата 10.11.2009, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 13.7.2005

Репутация: -2
Всего: 0



Belirafor, спасибо за ответ, получилось. А если я имею дело не с потоками, тогда как? В данном случае хочеться узнать, как выводить русский текст в компонентах библиотеки Qt.
PM MAIL   Вверх
Belirafor
Дата 10.11.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 15.8.2009

Репутация: нет
Всего: нет



С этим тебе лучше к продвинутым. Я сам только на втором курсе учусь. =)
PM MAIL   Вверх
bsa
Дата 10.11.2009, 15:50 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



saneea, читать тут
PM   Вверх
Antiquar
Дата 10.11.2009, 21:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



#include <QtGui>
#include <QtCore>
//-----------------------------------------------------------------------------

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

  QTextCodec *codec = QTextCodec::codecForName("CP1251");
  QTextCodec::setCodecForTr(codec);

  pApp.connect(&pApp, SIGNAL(lastWindowClosed()), &pApp, SLOT(quit()));

  // далее в любом объекте, наследуемом от QObject, в методе tr() выводи любой русский текст
  // если объект не наследник QObject, используй статический метод QObject::tr()
  // Например:
    QMessageBox::information(NULL, QObject::tr("Внимание"), QObject::tr("Запускаемся"));

    // только именно в этом исходнике само приложение нормально не отработает, сигнала для закрытия нет,
    // но это уже другая тема
  return pApp.exec();
}
//-----------------------------------------------------------------------------

PM MAIL   Вверх
Chazer
Дата 11.11.2009, 01:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упоротый гентушник
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 18.5.2006
Где: Украина

Репутация: нет
Всего: нет



Antiquar, ИМХО, стоит использовать UTF-8 вместо CP1251
PM MAIL Jabber   Вверх
saneea
Дата 11.11.2009, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 13.7.2005

Репутация: -2
Всего: 0



Antiquar, спасибо за ответ, теперь всё работает.
PM MAIL   Вверх
kefir01
Дата 1.5.2010, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 22.6.2007

Репутация: 1
Всего: 2



Цитата

  
Код

QTextCodec *codec = QTextCodec::codecForName("CP1251");
  QTextCodec::setCodecForTr(codec);



Не поясните почему данный код перестает работать при добавлении еще одного класса окна в приложение?
PM MAIL   Вверх
Deex42Iv
Дата 1.5.2010, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Trust No One



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 25.8.2009
Где: Казань

Репутация: нет
Всего: нет



kefir01, если я правильно понял вопрос, то может быть стоит кодек размещать в каждом классе.
PM MAIL WWW Skype Jabber   Вверх
JackYF
Дата 2.5.2010, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



Цитата(kefir01 @  30.4.2010,  23:27 Найти цитируемый пост)
при добавлении еще одного класса окна в приложение? 

Возможно, то окно создаётся раньше, чем выполняется "кодековский" код.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
kefir01
Дата 7.5.2010, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 22.6.2007

Репутация: 1
Всего: 2



Решение в том, чтобы правильно родителей главного окна указывать.
Еще не поясните почему при запуске приложения оно переводится на английский вопреки тому, что в дизайнере оно на русском (ButtonBox'ы и т.п.)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.