Пишу программу на qt4, использую qtCreator из SDK.
проблема специфичная -
отладчик на точках останова останавливается, но в watch всегда пишет для переменных <вне зоны видимости>.
поэтому стал использовать отладочную печать:
#include <QtGlobal>
#include <QtCore>
#include <QtString>
....
QString msg = "uri класса: " + Thing->URI;
qDebug(msg.toAscii());
А заставить отладочные сообщения выводиться на русском не получается, я уже все кодировки перепробовал:
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QTextCodec>
int main(int argc, char *argv[])
{
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
//QTextCodec::setCodecForCStrings(QTextCodec::codecForName("windows-1251"));
//QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp866"));
...
}
Что нужно сделать для отладки по-русски?
Разобрался:
нужно то было так выводить сообщения:
qDebug() << msg;
а не так:
qDebug(msg.toAscii());