Название: РЕШЕНО: Непонятное поведение при смене контекста Отправлено: xelax от Ноябрь 30, 2009, 23:39 Здравствуйте.
Я в ауте... Вводные: Имеется приложение, оно работает ;) Возник вопрос интернационализации. Имеется файл ts, все строки, выдающиеся пользователю обернуты в tr. Реализовал динамическую смену языка по требованию пользователя. Проблема: В классе, насленике QMainWindow, в одном из методов ругаемся пользователю вот так: Код: QMessageBox::question(this, "MapConvertor" Запускаем в аглицком варианте перевода - все хорошо. Сменяем на русский - сообщение Do you really want to quit? выдается на аглицком. Хотя в лингвисте переведен. Даже в ts заглянул. При дальнейших раскопках видно, что это происходит со ВСЕМИ подобными вызовами. А теперь внимание: если написать так Код: QMessageBox::question(this, "MapConvertor" Весь день пытался понять в чем дело. Если кто сталкивался, пожалуйста, подскажите, где я дурак. Название: Re: Непонятное поведение при смене контекста локализации Отправлено: lit-uriy от Декабрь 01, 2009, 04:17 а при таких изменениях, в лингвисте положение данной строки меняется (из одного контекста в другой)?
Название: Re: Непонятное поведение при смене контекста локализации Отправлено: xelax от Декабрь 01, 2009, 11:07 Да, положение строки меняется в лингвисте, переходит из MainWindow в QObject и обратно. И даже помечается как obsolete, т.е. для ее удаления запускаю lupdate -no-obsolete.
Запускаю и компилю в Kubuntu 9.10. Надо будет в винде попробовать сегодня. Название: Re: Непонятное поведение при смене контекста локализации Отправлено: xelax от Декабрь 01, 2009, 21:57 Интереса ради попробую сегодня в Qt 4.6
Название: Re: Непонятное поведение при смене контекста локализации Отправлено: lit-uriy от Декабрь 01, 2009, 22:50 проверил на 4.4.3, оба варианта работают.
Ты не забыл указать кодировку? (хотя при этом видел бы просто лажу) Название: Re: Непонятное поведение при смене контекста локализации Отправлено: xelax от Декабрь 01, 2009, 22:58 Нет, с кодировкой я ничего не делал, т.к. в остальных диалогах то работает. Тупизм появляется только в наследнике QMainWindow.
Название: Re: Непонятное поведение при смене контекста Отправлено: xelax от Декабрь 03, 2009, 14:32 Все разрешилось путем сборки в Qt 4.6
Я ничего не меняя сравнил работу в 4.5 и в 4.6. В 4.6. как надо все. Название: Re: РЕШЕНО: Непонятное поведение при смене контекста Отправлено: Dendy от Декабрь 10, 2009, 01:49 Уж не знаю в чём была причина, но первая мысль - в наследнике QMainWindow был забыт макрос Q_OBJECT. Следовательно - при переводе брался контекст QMainWindow, а не MainWindow.
Название: Re: РЕШЕНО: Непонятное поведение при смене контекста Отправлено: xelax от Декабрь 10, 2009, 17:20 Насчет макроса - это первое что я посмотрел. Он был. В принципе, бог с ним, сейчас проблема пропала.
|