Seite 1 von 1
Qt5 QTranslator dynamisch
Verfasst: 26. April 2014 17:57
von Basti1990
Hallo ich bin neu hier,
Ich arbeite gerade an einen Project und komme mit der Übersetzung nicht richtig zurecht.
Ich habe bereits *.qm Dateien erstellt und kann Sie auch über QTranslator.load() problemlos aufrufen.
Mein Problem ist das ich nicht weiß wie ich das dynamisch regeln soll, ich arbeite ohne Designer, ein
Menü habe ich schon nur habe ich keine Ahnung wie ich das richtig umsetzen soll das wenn ich auf deutsch klicke dann die deutsche Datei geladen wird.
Vielleicht hat ja einer eine Idee.
schon mal Danke im voraus.
Re: Qt5 QTranslator dynamisch
Verfasst: 27. April 2014 10:22
von Christian81
Also erstens - absolute Pfade sind ein absolutes No-Go. Beschäftige dich bitte mit Qt-Resourcen für deine Bilder (
http://qt-project.org/doc/qt-4.8/resources.html ).
Die Icons dann noch als Pointer anstatt als Objekte die nicht einmal wieder gelöscht werden (alle anderen Objekte werden auch nicht gelöscht) ist auch nicht wirklich gut -> C++ Grundlagen
Dann würde ich definitiv ein ui-File verwenden - so blickt ja keiner durch.
Für die Übersetzung - siehe
http://qt-project.org/doc/qt-4.8/qcorea ... Translator - du bekommst das Event QEvent::LanguageChange wo Du dann alle Texte neu setzen musst. Würdest Du ein ui-File benutzen wäre diese Aufrufe schon vorhanden, Du müsstest nur noch retranslateUi aufrufen.
Re: Qt5 QTranslator dynamisch
Verfasst: 27. April 2014 11:23
von Basti1990
Hi,
Das mit den Resourcedateien kommt später noch und mit Objekten die nicht gelöscht werden stand
irgendwo in der Doku das QKlassen nicht explizit mit delete im destructor gelöscht werden müssen sonder nur eigens definierte klassen.
Zu meinen Problem werde ich jetzt ein retranslate funktion schreiben und meinen text dort übersetzen, ich arbeite trozdem ohne ui,
weil das ungefähr 30% mehr speicher verbraucht und ich es so klein wie möglich haben möchte.
MFG Basti1990
Re: Qt5 QTranslator dynamisch
Verfasst: 27. April 2014 11:51
von Christian81
30% ? na wenn Du meinst... Das bischen Zeug von Dir fällt gar nicht auf im Gegensatz zu den Qt-Libraries. Wenn du Speicher sparen willst dann ist Qt definitiv nichts für dich...
Das Du für angebliche Speicherersparnis die Übersichtlichkeit komplett aufgibst und das Layout komplett statisch anordnest ist definitiv nicht sinnvoll - aber nicht mein Problem.
Und löschen - das stand dort definitiv nicht so drin. Dort stand etwas mit Parent-Child Beziehungen und löschen aber nicht dass man Qt-Objekte nicht löschen muss. Wir sind hier bei C++ und nicht Java! -> C++ Grundlagen.