Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Vladimir от Апрель 06, 2017, 12:17



Название: Динамический перевод текста не на UI форме
Отправлено: Vladimir от Апрель 06, 2017, 12:17
Доброго дня! Необходимо динамически переводить на другие языки текст, прописанный в коде, а не расположенный на форме. Для текста на форме есть метода retranslateUi(), который и выполняет данную задачу, как быть с текстом в коде, когда UI должен строиться динамически? Пока получилось сделать только через
Код:
void BasePanelProject::changeEvent(QEvent *event)
{
    if(event->type() == QEvent::LanguageChange)
    {
        for(int i = 0; i < tabApp->count(); ++i)
          tabApp->setTabText(i,tr("Application"));
}
}
но при этом приходится еще раз пробегаться по всему сгенерированному UI и выставлять ему setText, причем не именем переменной в которой хранится текст, а самим текстом
tr("Application"), что ооочень не удобно, накладно и приходится дублировать текст по несколько раз! может есть способ умнее/хитрее это задачу решить?


Название: Re: Динамический перевод текста не на UI форме
Отправлено: __Heaven__ от Апрель 06, 2017, 12:30
http://stackoverflow.com/questions/27635068/how-to-retranslate-dynamically-created-widgets


Название: Re: Динамический перевод текста не на UI форме
Отправлено: Vladimir от Апрель 06, 2017, 18:11
Значит вручную, печалька  :-\