[gelöst] deutsche Shortcuts

Alles rund um die Programmierung mit Qt
Antworten
lordofthebrain
Beiträge: 25
Registriert: 5. März 2006 16:49
Kontaktdaten:

[gelöst] deutsche Shortcuts

Beitrag von lordofthebrain »

Hallo,

mal ne blöde Frage, ist auch nicht so wichtig, aber wenn es jemand weiß bin ich über die Lösung dankbar.

Code: Alles auswählen

cMenu = new QMenu(menu);
QAction *remove = new QAction(QIcon(":/icons/icons/editdelete.png"),QString::fromUtf8("&Löschen"),this);
QKeySequence test(Qt::Key_Delete);
remove->setShortcut(test);
cMenu->addAction(remove);
Der Eintrag im Context Menu sieht ja dann so aus:
<ICON> Löschen Del

Gibts eine Möglichkeit, dass da statt Del Entf steht. Mit tr(...) hab ich es auch nicht hinbekommen, zeigt dann nichts mehr an.

Gruß Fabian
Zuletzt geändert von lordofthebrain am 8. August 2007 12:41, insgesamt 1-mal geändert.
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Dies soll ein Translator übernehmen... (QTranslator)
lordofthebrain
Beiträge: 25
Registriert: 5. März 2006 16:49
Kontaktdaten:

Beitrag von lordofthebrain »

Hab ich schon versucht. Das geht auch nicht. Sah so aus:

Code: Alles auswählen

QTranslator translator;
translator.load("german");
app.installTranslator(&translator);

cMenu = new QMenu(menu);
QAction *remove = new QAction(QIcon(":/icons/icons/editdelete.png"),QString::fromUtf8("&Löschen"),this);
QKeySequence test(QObject::tr("Del"));
remove->setShortcut(test);
cMenu->addAction(remove);
 
Die selbst erstellte german.ts sieht so aus:

Code: Alles auswählen

<!DOCTYPE TS><TS>
<context>
    <name>QObject</name>
    <message>
        <source>Del</source>
        <translation>Entf</translation>
    </message>
</context>
</TS>
Ergebnis: <ICON> Löschen
Da wo vorher Del stand steht jetzt nichts mehr. Generell funktionierts aber hab zum Test mal Del zu Ctrl+S übersetzen lassen, das zeigt er an.
Noch ne Idee?

Gruß Fabian
lordofthebrain
Beiträge: 25
Registriert: 5. März 2006 16:49
Kontaktdaten:

Beitrag von lordofthebrain »

So hab jetzt selbst nochmal rumgefummel und habs hinbekommen.

Code: Alles auswählen

QKeySequence test(QObject::tr("Del")); 
ändern zu:

Code: Alles auswählen

QKeySequence test(tr("Del")); 
Dann muss noch in der ts Datei (siehe oben)

Code: Alles auswählen

<name>QObject</name>
ersetzt werden durch:

Code: Alles auswählen

<name>QShortcut</name> 
dann funktioniert alles so wie es soll. Trotzdem danke an alle die sich das hier angeschaut haben.

Gruß Fabian
Antworten