crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Гость_qp_*
сообщение 13.7.2010, 12:46
Сообщение #1





Гости








    


Организую вывод вообщений. есть функция обрабатывающая сообщения:

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);


Помогите разобраться почему так? Что можно сделать чтобы выводился нормально текст??
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_qp_*
сообщение 14.7.2010, 8:59
Сообщение #2





Гости








    


не работает.
qWarning() << qApp->tr("Некоторый текст");
QMessageBox::critical(0, qApp->tr("Debug"), msg, QMessageBox::Cancel);

так тоже:
qWarning("Некоторый текст");
QMessageBox::critical(0, qApp->tr("Debug"), qApp->tr(msg), QMessageBox::Cancel);


Насколько я понимаю, проблема в том что неправильно qWarning сообщение передает, потому что если в функции выводящей сообщение сделать:
void MsgOutput(QtMsgType type, const char *msg)
{
msg="русский текст";
...

То выводится нормально. Значит спроблема в qWarning. и const char*, Проджект у меня в UTF-8


Есть ещё идеи?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 24.7.2025, 1:10