DrSlowDecay (Talk | contribs) (Page created and translated) |
|||
| (2 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| − | + | ||
'''KDE Architecture - Providing online help''' | '''KDE Architecture - Providing online help''' | ||
| Line 13: | Line 13: | ||
Aus der Sicht des Programmierers, bietet Qt eine einfach zu benutzende API für die Online Hilfe. Um einen Tooltip einem Widget zuzuordnen, benutze einfache die setToolTip() Methode. | Aus der Sicht des Programmierers, bietet Qt eine einfach zu benutzende API für die Online Hilfe. Um einen Tooltip einem Widget zuzuordnen, benutze einfache die setToolTip() Methode. | ||
| − | < | + | <syntaxhighlight lang="cpp-qt"> |
widget->setToolTip(i18n("This widget does something.")) | widget->setToolTip(i18n("This widget does something.")) | ||
| − | </ | + | </syntaxhighlight> |
Wenn die Menüs und Werkzeugleisten mit der [[../Action Pattern|action pattern]] erzeugt werden, wird die Zeichenkette für den Tooltip aus dem ersten Argument des [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKAction.html KAction] Konstruktors abgeleitet: | Wenn die Menüs und Werkzeugleisten mit der [[../Action Pattern|action pattern]] erzeugt werden, wird die Zeichenkette für den Tooltip aus dem ersten Argument des [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKAction.html KAction] Konstruktors abgeleitet: | ||
| − | < | + | <syntaxhighlight lang="cpp-qt"> |
action = new KAction(i18n("&Delete"), "editdelete", | action = new KAction(i18n("&Delete"), "editdelete", | ||
SHIFT+Key_Delete, actionCollection(), "del") | SHIFT+Key_Delete, actionCollection(), "del") | ||
| − | </ | + | </syntaxhighlight> |
Hier ist es auch möglich, einen Text zuzuordnen, der in der Statuszeile angezeigt wird, wenn der entsprechende Menüeintrag ausgewählt wird. | Hier ist es auch möglich, einen Text zuzuordnen, der in der Statuszeile angezeigt wird, wenn der entsprechende Menüeintrag ausgewählt wird. | ||
| − | < | + | <syntaxhighlight lang="cpp-qt"> |
action->setStatusText(i18n("Deletes the marked file")) | action->setStatusText(i18n("Deletes the marked file")) | ||
| − | </ | + | </syntaxhighlight> |
Die API für die "What's this?" Hilfe ist sehr ähnlich. In Diaglogen, benutze folgenden Code: | Die API für die "What's this?" Hilfe ist sehr ähnlich. In Diaglogen, benutze folgenden Code: | ||
| − | < | + | <syntaxhighlight lang="cpp-qt"> |
widget->setWhatsThis(i18n("<qt>This demonstrates <b>Qt</b>'s" | widget->setWhatsThis(i18n("<qt>This demonstrates <b>Qt</b>'s" | ||
" rich text engine.<ul>" | " rich text engine.<ul>" | ||
| Line 37: | Line 37: | ||
"<li>Bar</li>" | "<li>Bar</li>" | ||
"</ul></qt>")) | "</ul></qt>")) | ||
| − | </ | + | </syntaxhighlight> |
Für Menüeinträge benutze | Für Menüeinträge benutze | ||
| − | < | + | <syntaxhighlight lang="cpp-qt"> |
action->setWhatsThis(i18n("Deletes the marked file")) | action->setWhatsThis(i18n("Deletes the marked file")) | ||
| − | </ | + | </syntaxhighlight> |
Der Aufruf von khelpcenter wird in der | Der Aufruf von khelpcenter wird in der | ||
[http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKToolInvocation.html KToolInvocation] Klasse abgekapselt. Um das Handbuch deiner Applikation anzuzeigen, muß nur die statische Methode aufgerufen werden: | [http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKToolInvocation.html KToolInvocation] Klasse abgekapselt. Um das Handbuch deiner Applikation anzuzeigen, muß nur die statische Methode aufgerufen werden: | ||
| − | < | + | <syntaxhighlight lang="cpp-qt"> |
KToolInvocation::invokeHelp() | KToolInvocation::invokeHelp() | ||
| − | </ | + | </syntaxhighlight> |
Dadurch wird die erste Seite mit dem Inhaltverzeichnis dargestellt. Wenn du nur einen bestimmten Abschnitt des Handbuches anzeigen willst, kannst du ein zusätzliches Argument an invokeHeko() übergeben, welches den Anchor festlegt, zu dem der Browser springen soll. | Dadurch wird die erste Seite mit dem Inhaltverzeichnis dargestellt. Wenn du nur einen bestimmten Abschnitt des Handbuches anzeigen willst, kannst du ein zusätzliches Argument an invokeHeko() übergeben, welches den Anchor festlegt, zu dem der Browser springen soll. | ||
KDE Architecture - Providing online help
Ein Programm einfach und intuitiv benutzbar zu machen, umfasst eine weite Bandbreite von Einrichtungen, die man im Allgemeinen als Online Hilfe bezeichnet. Online Hilfe hat meherer teilweise widersprechende Ziele: Auf der einen Seite soll es den Benutzern Antworten auf die Frage "Wie kann ich eine bestimmte Aufgabe erledigen?" geben, auf der anderen seite sollte es dem Benutzer helfen, die Applikation zu erforschen und neue, bisher unbekannte Funktionen zu finden, die er oder sie noch nicht kannten. Es ist wichtig zu erkennen, dass dieses nur erreicht werden kann, indem man mehere Ebenen der Hilfe anbietet:
Der Vorteil der "What's this?" Hilfe, die von Qt und KDE zur Verfügung gestellt wird, ist, dass sie rich text beinhalten kann, zum Beispiel verschiedene Schriftarten, Fett- und Kursivschrift und sogar Bilder und Tabellen.
Aus der Sicht des Programmierers, bietet Qt eine einfach zu benutzende API für die Online Hilfe. Um einen Tooltip einem Widget zuzuordnen, benutze einfache die setToolTip() Methode.
widget->setToolTip(i18n("This widget does something."))
Wenn die Menüs und Werkzeugleisten mit der action pattern erzeugt werden, wird die Zeichenkette für den Tooltip aus dem ersten Argument des KAction Konstruktors abgeleitet:
action = new KAction(i18n("&Delete"), "editdelete", SHIFT+Key_Delete, actionCollection(), "del")
Hier ist es auch möglich, einen Text zuzuordnen, der in der Statuszeile angezeigt wird, wenn der entsprechende Menüeintrag ausgewählt wird.
action->setStatusText(i18n("Deletes the marked file"))
Die API für die "What's this?" Hilfe ist sehr ähnlich. In Diaglogen, benutze folgenden Code:
widget->setWhatsThis(i18n("<qt>This demonstrates <b>Qt</b>'s" " rich text engine.<ul>" "<li>Foo</li>" "<li>Bar</li>" "</ul></qt>"))
Für Menüeinträge benutze
action->setWhatsThis(i18n("Deletes the marked file"))
Der Aufruf von khelpcenter wird in der KToolInvocation Klasse abgekapselt. Um das Handbuch deiner Applikation anzuzeigen, muß nur die statische Methode aufgerufen werden:
KToolInvocation::invokeHelp()
Dadurch wird die erste Seite mit dem Inhaltverzeichnis dargestellt. Wenn du nur einen bestimmten Abschnitt des Handbuches anzeigen willst, kannst du ein zusätzliches Argument an invokeHeko() übergeben, welches den Anchor festlegt, zu dem der Browser springen soll.
Ursprünglicher Autor (des englischen Artikels): Bernd Gehrmann