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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QT - вопросы по консольным приложениям и настройке QCreator  (Прочитано 7320 раз)
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) или по горячей клавише?
Записан
shirushizo
Гость
« Ответ #1 : Июль 29, 2010, 08:27 »

Попробуй так:
Код:
qDebug(tr("Русский текст 2"));
out << tr("Русский текст") << "\n\r";
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #2 : Июль 29, 2010, 08:30 »

3 http://doc.trolltech.com/4.6/qiodevice.html#getChar
4 ctrl + / ?
Записан
SABROG
Гость
« Ответ #3 : Июль 29, 2010, 08:30 »

Попробуй так:
Код:
qDebug(tr("Русский текст 2"));
out << tr("Русский текст") << "\n\r";
Прикалываетесь что ли, какая связь между tr() и кодировками? Не путайте перевод с перекодировкой.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #4 : Июль 29, 2010, 11:42 »

>>Прикалываетесь что ли, какая связь между tr() и кодировками?
а у него кодек для tr() указан.
однако кодек для потока вывода не указан. поэтому всё равно в коносоли будет лабуда Улыбающийся
Записан

Юра.
SABROG
Гость
« Ответ #5 : Июль 29, 2010, 13:26 »

>>Прикалываетесь что ли, какая связь между tr() и кодировками?
а у него кодек для tr() указан.
однако кодек для потока вывода не указан. поэтому всё равно в коносоли будет лабуда Улыбающийся
А зачем вообще tr() использовать, если русский на русский переводить никто не собирается. Ради хака, чтобы к строке применить нужный кодек что ли?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Июль 29, 2010, 15:35 »

вдруг приспичит с русского на аглицкий переводить.
Записан

Юра.
Paullo
Гость
« Ответ #7 : Август 04, 2010, 15:51 »

А может так?
Код:
#include <QDebug>

qDebug() << QString::fromAscii("Русский текст 2");
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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