Russian Qt Forum

Qt => Общие вопросы => Тема начата: DenKa от Апрель 09, 2007, 18:16



Название: Доступ к объекту QApplication app(argc, argv)
Отправлено: DenKa от Апрель 09, 2007, 18:16
Код:

//файл main.cpp
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QTextCodec *codec = QTextCodec::codecForName("utf8");
    QTextCodec::setCodecForTr(codec);
QApplication app(argc, argv);
QTranslator translator;
     translator.load("spreadsheet_ru");
     app.installTranslator(&translator);
    MainWindow mainWin;
    mainWin.show();
    return app.exec();
}


Как теперь из файла mainwindow.cpp вызвать app.removeTranslator()?


Название: Доступ к объекту QApplication app(argc, argv)
Отправлено: WW от Апрель 09, 2007, 18:22
qApp ?


Название: Доступ к объекту QApplication app(argc, argv)
Отправлено: DenKa от Апрель 09, 2007, 18:58
Точно! Спасибо.
Опа! Функция
Код:

void MainWindow::translateToRussian(bool rus)
{
if (rus)
     qApp->installTranslator(&translator);
else
qApp->removeTranslator(&translator);
this->setStatusTip("loaded");
}

Руссифицирует приложение (при rus==true), но вызов translateToRussian(false) ни к чему не приводит (tr(...) остаётся на русском) или наоборот - при первом вызове translateToRussian(false)
         Где я туплю?[/code]