Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: juvf от Январь 14, 2011, 07:14



Название: Как получить указатель на QApplication?
Отправлено: juvf от Январь 14, 2011, 07:14
класический main
Код:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow mainWindow;
mainWindow.show();
return app.exec();
}

у MainWindow нужно определить метод смены языка. в учебниках примеры что-то типа
Код:
void MainWindow::switchLanguage(int language)
{
QTranslator translator;
        switch(language)
        {
      case RUSSIAN:
                translator.load(":/translator/main_ru.qm");
                      break;
      case TURKIC:
                translator.load(":/translator/main_tu.qm");
                      break;
}
        qapp->installTranslator(&translator);
}

Так вот, как из MainWindow достать app? Неужели в конструкторе MainWindow нужно передавать указатель на app?


Название: Re: Как получить указатель на QApplication?
Отправлено: Blackwanderer от Январь 14, 2011, 07:26
Через глобальный указатель qApp


Название: Re: Как получить указатель на QApplication?
Отправлено: Fat-Zer от Январь 14, 2011, 07:37
installTranslator - это же вроде статический метод...

И транслейтор надо бы в куче создавать.