KGENDESIGNERPLUGI(1) KDE Frameworks: KDesignerPlugi KGENDESIGNERPLUGI(1) NAME kgendesignerplugin - Generiert Bedienelement-Module (Widgets) fur Qt(TM)-Designer UBERSICHT kgendesignerplugin [Optionen...] Datei BESCHREIBUNG Die benutzerdefinierten Bedienelement-Module fur Qt(TM)-Designer folgen normalerweise einem Standardmuster, und die vom Modul bereitgestellten Klassen bieten meist statische Informationen, zusammen mit einer Funktion zum Erstellen einer Instanz, die normalerweise nur ein einfacher Konstruktoraufruf ist. kgendesignerplugin erlaubt Entwicklern von Bibliotheken, die neue Bedienelemente bereitstellen, die Erstellung eines solchen Moduls ohne den gesamten zugehorigen Boilerplate-Code zu erstellen, indem eine einfache Beschreibungsdatei im Ini-Stil bereitgestellt wird. kgendesignerplugin verwendet sinnvolle Voreinstellungen fur die meisten Einstellungen, daher ist normalerweise nur eine minimale Konfiguration erforderlich. OPTIONEN -o datei Der Name der generierten C++-Datei. Ist er nicht angegeben, wird stdout benutzt. -n plugin-name Nur zur Kompatibilitat. Der Standardwert fur die Option PluginName in der Eingabedatei. -g group Nur zur Kompatibilitat. Der Standardwert fur die Option DefaultGroup in der Eingabedatei. --author Zeigt Informationen uber den Autor. --license Zeigt Lizenz-Informationen an. -h, --help Zeigt einen kurzen Hilfetext. -v, --version Zeigt Versionsinformationen an. DATEIFORMAT Die Eingabedatei ist eine Einrichtungsdatei im Ini-Stile im Format, das von der Bibliothek KConfig unterstutzt wird, und beschreibt eine Gruppe von Widgets. Sie enthalt einen Abschnitt [Global] mit allgemeinen Informationen uber das Modul und einen Abschnitt fur jedes Widget in diesem Modul. Im Abschnitt [Global] kann es folgende Eintrage geben: DefaultGroup Der Standardwert fur den Eintrag Group in den Klassenabschnitten. Voreinstellung ist Custom, wenn nicht die Option -g angegeben ist. Includes Eine (durch Komma getrennte) Liste der erforderlichen Includes (Standard: leer). Beachten Sie, dass die Header-Dateien fur die Bedienelemente, die spater in der Datei angegeben werden, hier nicht aufgefuhrt werden sollten. Stattdessen ist dies fur spezielle Header fur die eigene Verwendung des Moduls gedacht, wie die fur Klassen, die Vorschauen bereitstellen. PluginName Der Name der Haupt-C++-Klasse im Modul, Vorgabe WidgetsPlugin, wenn nicht die Option -n angeben ist. Jede Klasse sollte einen eigenen Abschnitt [ClassName] haben, der folgende Eintrage enthalten kann: CodeTemplate Der Ruckgabewert der Funktion codeTemplate() des Moduls, der als ,,future use" in Qt(TM)-Designer gekennzeichnet ist, Vorgabewert leer. ConstructorArgs Die Argumente, die an den Konstruktor der durch ImplClass angegebenen Klasse ubergeben werden, mussen von Klammern umgeben sein (Standard: "(parent)"). Die einzige Variable, die garantiert verfugbar ist, ist parent, das ist der Elternteil QWidget, das von Qt(TM) Designer ubergeben wird. Dieser Eintrag wird ignoriert, wenn CreateWidget festgelegt ist. CreateWidget Der notwendige Code, um eine Instanz des Bedienelements zu erzeugen: Standard: verwendet new, um eine Instanz der durch den Eintrag ImplClass angegebenen Klasse zu erzeugen, die Klasse zu erzeugen, wobei die durch ConstructorArgs angegebenen Argumente ubergeben werden. Siehe die Hinweise zu ImplClass und ConstructorArgs. DomXML Eine XML-UI-Beschreibung des Bedienelements. Standard ist die Einstellung aus den Headern der Qt(TM)-Designermodule. Group Die Gruppe unter der das Bedienelement im Qt(TM)-Designer angezeigt wird. Die Voreinstellung ist der Wert des Eintrags DefaultGroup im Abschnitt [Global]. IconName Die Bilddatei oder der Name des Standardsymbols, das als Symbol fur dieses Bedienelement in der Qt(TM) Designer-Liste verwendet werden soll. (Standard: eine PNG-Datei mit dem Namen des Abschnitts, wobei Doppelpunkte entfernt werden, im Verzeichnis "pics" einer kompilierten Ressourcendatei. Zum Beispiel :/pics/Foo.png im Abschnitt [Foo] oder :/pics/FooBar.png im Abschnitt [Foo::Bar]). ImplClass Die Klasse, die verwendet werden soll, um eine Instanz des Bedienelements fur die Verwendung von Qt(TM)-Designer (Standard: der Name des Abschnitts). Beachten Sie, dass dies nicht tatsachlich die Klasse sein muss, die fur eine Endanwendung erzeugt werden wurde. Das wird durch das DomXML bestimmt. Dieser Eintrag wird ignoriert, wenn CreateWidget festgelegt ist. IncludeFile Die Header, der zur Verwendung dieses Bedienelements enthalten sein mussen. Standard: der kleingeschriebene Abschnittsnamen, wobei alle Doppelpunkte entfernt und ".h" angehangt werden. Zum Beispiel foo.h im Abschnitt [Foo] oder foobar.h im Abschnitt [Foo::Bar]. IsContainer Ob diese Bedienelement andere Bedienelement enthalten kann. Vorgabe ist false. ToolTip Die Kurzinfo, die angezeigt wird, wenn der Mauszeiger uber das Bedienelement in der Liste von Qt(TM)-Designer gefuhrt wird. Standard: der Name des Abschnitts, mit angehangtem " Widget". Zum Beispiel: Foo Widget im Abschnitt [Foo]). WhatsThis Der ,,Was ist das"-Text zum zugehorigen Bedienelement in der Liste vom Qt(TM)--Designer. Standard: der Name des Abschnitts, mit angehangtem " Widget". Zum Beispiel: Foo Widget im Abschnitt [Foo]). BEISPIELE Die einfachste Beschreibungsdatei kann so aussehen: [Foo] ToolTip=Displays foos [Bar] ToolTip=Bar editor Beachten Sie, dass jede Klasse mindestens einen Schlusselwert festlegen muss (ToolTip wurde zum Beispiel hier verwendet), ansonsten wird sie ignoriert. Normalerweise wollen Sie zumindest den fur den Benutzer sichtbaren Text andern, also die Eintrage ToolTip, WhatsThis und Group. Zusatzlich kann das Setzen des Modul-Namens eine gute Idee sein, um mogliche Symbolkonflikte zu vermeiden und Debugger nicht zu verwirren, sowohl die Anwendung als auch die Person: [Global] PluginName=FooWidgets DefaultGroup=Display [Foo] ToolTip=Displays bears WhatsThis=An image widget that displays dancing bears [Bar] ToolTip=Bar editor WhatsThis=An editor interface for bars for bears Group=Editing Komplexere Dateien konnen notig sein, wenn Sie Klassen mit Namensraum oder zusatzliche Einstellungen, die vom Konstruktor unterstutzt werden, wie zum Beispiel: [Global] PluginName=FooWidgets DefaultGroup=Foo [Foo::Bar] ToolTip=Displays bars WhatsThis=A widget that displays bars in a particular way IncludeFile=foo/bar.h IconName=:/previews/bar.png [Foo::Baz] IncludeFile=foo/baz.h ConstructorArgs=(Foo::Baz::SomeOption, parent) Group=Foo (Special) IsContainer=true IconName=:/previews/baz.png Manchmal benotigen besonders komplexe Bedienelemente eine spezielle "Vorschauklassen"-Implementierung fur die Verwendung in Qt(TM)-Designer;. Dies kann eine Unterklasse des eigentlichen Bedienelements sein, die nur einige zusatzliche Einstellungen vornimmt, oder es kann eine vollig andere Implementierung sein. [Global] Includes=foopreviews.h [FancyWidget] ImplClass=FancyWidgetPreview SIEHE AUCH https://doc.qt.io/qt-5/designer-creating-custom-widgets.html Die Dokumentation zu Qt(TM)-Designer fur die Erstellung von Modulen fur benutzerdefinierte Bedienelemente. FEHLER Bitte verwenden Sie bugs.kde.org[1] fur Fehlerberichte, schicken Sie keine E-Mails direkt an die Autoren. AUTOREN Richard Johnson Schrieb die ursprungliche Dokumentation. Alex Merry Aktualisierte die Dokumentation fur KDE Frameworks 5. FUssNOTEN 1. bugs.kde.org https://bugs.kde.org KDE Frameworks Frameworks 5.0 2014-05-28 KGENDESIGNERPLUGI(1)