Qt5 QTranslator dynamisch

Alles rund um die Programmierung mit Qt
Antworten
Basti1990
Beiträge: 17
Registriert: 31. März 2014 17:38

Qt5 QTranslator dynamisch

Beitrag 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.
Dateianhänge
Qt.txt
(10.76 KiB) 194-mal heruntergeladen
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Qt5 QTranslator dynamisch

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Basti1990
Beiträge: 17
Registriert: 31. März 2014 17:38

Re: Qt5 QTranslator dynamisch

Beitrag 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
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Qt5 QTranslator dynamisch

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten