void MsgOutput(QtMsgType type, const char *msg)
{
switch(type)
{
case QtDebugMsg:
QMessageBox::critical(0, qApp->tr("Debug"), qApp->tr(msg), QMessageBox::Cancel);
break;
.....
}
}
есть хендлер:
qInstallMsgHandler(MsgOutput);
далее вызываем сообщени:
Вот кусок кода который не работает: qWarning(qApp->tr("Некоторый текст");
Ошибка: no matching function for call to 'qWarning(QString)'
Вот кусок кода который работает: qWarning("Некоторый текст"); или qWarning(qApp->tr("Некоторый текст").toUtf();
однако в случае с русским выходят кракозябли? а мне нужен именно русский. и именно Utf
для tr() у меня:
QTextCodec *Unicode = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(Unicode);
Помогите разобраться почему так? Что можно сделать чтобы выводился нормально текст??