Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: tumanovalex от Июль 29, 2010, 06:59



Название: QT - вопросы по консольным приложениям и настройке QCreator
Отправлено: tumanovalex от Июль 29, 2010, 06:59
Пытаюсь создать консольное приложение:
Код:
#include <QCoreApplication>
#include <QTextStream>
#include <QTextCodec>
#include <conio.h>
 
int main(int argc, char *argv[]) {
    QCoreApplication a(argc, argv);
    QTextCodec *cyrillicCodec = QTextCodec::codecForName("CP1251"); // Пробовал "IBM-866", "UTF-8"
    QTextCodec::setCodecForTr(cyrillicCodec);
    QTextCodec::setCodecForLocale(cyrillicCodec);
    QTextCodec::setCodecForCStrings(cyrillicCodec);
    QTextStream in(stdin), out(stdout); // Нашел в интернете
    out << "Русский текст" << '\n';
    qDebug("Русский текст 2");
    _getch();
    return(0);
}
Появились следующие вопросы:
1. Как правильно настроить вывод русских букв в консоле (при выводе qDebug вместо русских букв знаки вопросов)?
2. Почему не выводится текст в строке out << "Русский текст" << '\n';
3. Есть ли аналог в QT функции _getch()?
4. Можно ли настроить Qcreator так, чтобы при выделении блока можно было его закоментировать по нажатию кнопки (как в Visual Studio) или по горячей клавише?


Название: Re: QT - вопросы по консольным приложениям и настройке QCreator
Отправлено: shirushizo от Июль 29, 2010, 08:27
Попробуй так:
Код:
qDebug(tr("Русский текст 2"));
out << tr("Русский текст") << "\n\r";


Название: Re: QT - вопросы по консольным приложениям и настройке QCreator
Отправлено: Авварон от Июль 29, 2010, 08:30
3 http://doc.trolltech.com/4.6/qiodevice.html#getChar
4 ctrl + / ?


Название: Re: QT - вопросы по консольным приложениям и настройке QCreator
Отправлено: SABROG от Июль 29, 2010, 08:30
Попробуй так:
Код:
qDebug(tr("Русский текст 2"));
out << tr("Русский текст") << "\n\r";
Прикалываетесь что ли, какая связь между tr() и кодировками? Не путайте перевод с перекодировкой.


Название: Re: QT - вопросы по консольным приложениям и настройке QCreator
Отправлено: lit-uriy от Июль 29, 2010, 11:42
>>Прикалываетесь что ли, какая связь между tr() и кодировками?
а у него кодек для tr() указан.
однако кодек для потока вывода не указан. поэтому всё равно в коносоли будет лабуда :)


Название: Re: QT - вопросы по консольным приложениям и настройке QCreator
Отправлено: SABROG от Июль 29, 2010, 13:26
>>Прикалываетесь что ли, какая связь между tr() и кодировками?
а у него кодек для tr() указан.
однако кодек для потока вывода не указан. поэтому всё равно в коносоли будет лабуда :)
А зачем вообще tr() использовать, если русский на русский переводить никто не собирается. Ради хака, чтобы к строке применить нужный кодек что ли?


Название: Re: QT - вопросы по консольным приложениям и настройке QCreator
Отправлено: lit-uriy от Июль 29, 2010, 15:35
вдруг приспичит с русского на аглицкий переводить.


Название: Re: QT - вопросы по консольным приложениям и настройке QCreator
Отправлено: Paullo от Август 04, 2010, 15:51
А может так?
Код:
#include <QDebug>

qDebug() << QString::fromAscii("Русский текст 2");