Автор Гілка: Консольний вивід у Qt  (Прочитано 1730 раз)

Відсутній Fakel._Enterpuer

  • Кореспондент
  • ***
  • дописів: 164
  • Карма: +0/-0
  • Debian Gnu/Linux
Читаю звідси:
http://doc.trolltech.com/4.0/console-edition-classes.html
Але не можу знайти потрібну функцію, потрібно друкувати у консоль строки юнікоду (QString)
...
QTextOStream мені нічого не говорить, з документації не розумію які їй передаються аргументи, і приклад нижче якийсь неявний.
Як варіант думаю заюзати glib, там застосовувати gchar,g_printf().

LUG irc.id.km.ua

Відсутній mim

  • Новачок
  • *
  • дописів: 44
  • Карма: +0/-0
Re: Консольний вивід у Qt
« Відповідей #1 : 2009-03-09 17:48:48 »
десь так

QString messageString("some message");
std::cout << messageString.toStdString() ;

або

std::cout << messageString.toLocal8Bit().data() ;
якщо треба перекласти в якесь кодування, тоді використовувати QTextCodec

   QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
    QByteArray ba = codec->fromUnicode(messageString);
    std::cout << ba.data() ;

якщо це відладочна інформація, тоді краще отак:

qDebug() << message

Відсутній Fakel._Enterpuer

  • Кореспондент
  • ***
  • дописів: 164
  • Карма: +0/-0
  • Debian Gnu/Linux
Re: Консольний вивід у Qt
« Відповідей #2 : 2009-03-09 18:31:23 »
Спасибі, пропонували так:
QTextStream Qcout(stdout);
Qcout << something;
але, не вивід - пусті строки.
LUG irc.id.km.ua