Ich würde gerne zur Programmlaufzeit die Menu-sprache meines Editors ändern:

Im meiner main habe ich jetzt einen Translator erstellt:
Code:
int main( int argc, char **argv )
{
    QApplication a( argc, argv );
	
    QTranslator translator;
    translator.load(QString("adler_de"),".");
	a.installTranslator(&translator);
    bool isSmall =  qApp->desktop()->size().width() < 450
                  || qApp->desktop()->size().height() < 450;

    int i;
    for ( i= argc <= 1 ? 0 : 1; i<argc; i++ ) {
        Editor *e = new Editor;
        e->setCaption("Adler");
        if ( i > 0 )
            e->load( argv[i] );
        if ( isSmall ) {
            e->showMaximized();
        } else {
            e->resize( 800, 300 );
            e->show();
        }
    }
    a.connect( &a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) );
    return a.exec();
}
Ich frage mich jetzt nur wie ich den in meiner subfunktion bekannt mache so dass ich Ihn löschen und einen neuen setzten kann?

meine language() funktion schaut so aus:
Code:
void Editor::language()
{
        QStringList items;

		int language = 99;
        items << tr("Deutsch") << tr("English") << tr("France") << tr("Spanish");

        bool ok;
        QString item = QInputDialog::getItem(this, tr("Sprache..."),
                                             tr("Ihre Wahl ist:"), items, 0, false, &ok);
        if (ok && !item.isEmpty());
			e->setText(item);
			
		language = items.indexOf(item, 0);
		QString str = QString::number(language, 10); 
		e->setText(str);

		QTranslator *translatorB = new QTranslator();
/*		switch (language){
			case 0: ok = translator->load(QString("adler_de"),".");
					break;
	etwas				break;
			case 2: ok = translator->load(QString("adler_fr"),".");
					break;
			case 3: ok = translator->load(QString("adler_sp"),".");
					break;
		}
  */    
  		translatorB->load(QString("adler_en"),"."); 
//  		qApp->removeTranslator();
  		qApp->installTranslator(translatorB);
	    if (ok == TRUE) 
	    	QMessageBox::information(this, tr("Information"),
                                         tr("Neue Spracheinstellungen sind geladen worden."));
       	e->setAutoUpdate( TRUE );
    	e->repaint();
}
einiges davon ist echt noch etwas Schlachtfeld