KGENDESIGNERPLUGI(1)

NAME
kgendesignerplugin - Generiert Bedienelement-Module (Widgets) für Qt(TM)-Designer

ÜBERSICHT

kgendesignerplugin [Optionen...] Datei

BESCHREIBUNG

Die benutzerdefinierten Bedienelement-Module für 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 zugehörigen Boilerplate-Code zu erstellen, indem eine einfache Beschreibungsdatei im Ini-Stil bereitgestellt wird.

kgendesignerplugin verwendet sinnvolle Voreinstellungen für 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 Kompatibilität. Der Standardwert für die Option PluginName in der Eingabedatei.

-g group
    Nur zur Kompatibilität. Der Standardwert für die Option DefaultGroup in der Eingabedatei.

--author
    Zeigt Informationen über 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 unterstützt wird, und beschreibt eine Gruppe von Widgets. Sie enthält einen Abschnitt [Global] mit allgemeinen Informationen über das Modul und einen Abschnitt für jedes Widget in diesem Modul.

Im Abschnitt [Global] kann es folgende Einträge geben:

DefaultGroup
    Der Standardwert für 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 für die Bedienelemente, die später in der Datei angegeben werden, hier nicht aufgeführt werden sollten. Stattdessen ist dies für spezielle Header für die eigene Verwendung des Moduls gedacht, wie die für 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 Einträge enthalten kann:

CodeTemplate
    Der Rückgabewert 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 übergeben werden, müssen von Klammern umgeben sein (Standard: "(parent)"). Die einzige Variable, die garantiert verfügbar ist, ist parent, das ist der Elternteil QWidget, das von Qt(TM) Designer übergeben 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 übergeben 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 für 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 für die Verwendung von Qt(TM)-Designer (Standard: der Name des Abschnitts). Beachten Sie, dass dies nicht tatsächlich die Klasse sein muss, die für eine Endanwendung erzeugt werden würde. Das wird durch das DomXML bestimmt.

    Dieser Eintrag wird ignoriert, wenn CreateWidget festgelegt ist.

IncludeFile
    Die Header, der zur Verwendung dieses Bedienelements enthalten sein müssen. Standard: der kleingeschriebene Abschnittsnamen, wobei alle Doppelpunkte entfernt und ".h" angehängt 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 über das Bedienelement in der Liste von Qt(TM)-Designer geführt wird. Standard: der Name des Abschnitts, mit angehängtem " Widget". Zum Beispiel: Foo Widget im Abschnitt [Foo]).

WhatsThis
    Der „Was ist das“-Text zum zugehörigen Bedienelement in der Liste vom Qt(TM)--Designer. Standard: der Name des Abschnitts, mit angehängtem " 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 Schlüsselwert festlegen muss (ToolTip wurde zum Beispiel hier verwendet), ansonsten wird sie ignoriert.

Normalerweise wollen Sie zumindest den für den Benutzer sichtbaren Text ändern, also die Einträge ToolTip, WhatsThis und Group. Zusätzlich kann das Setzen des Modul-Namens eine gute Idee sein, um mögliche 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 können nötig sein, wenn Sie Klassen mit Namensraum oder zusätzliche Einstellungen, die vom Konstruktor unterstützt 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 benötigen besonders komplexe Bedienelemente eine spezielle "Vorschauklassen"-Implementierung für die Verwendung in Qt(TM)-Designer;. Dies kann eine Unterklasse des eigentlichen Bedienelements sein, die nur einige zusätzliche Einstellungen vornimmt, oder es kann eine völlig 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 für die Erstellung von Modulen für benutzerdefinierte Bedienelemente.

FEHLER

Bitte verwenden Sie bugs.kde.org[1] für Fehlerberichte, schicken Sie keine E-Mails direkt an die Autoren.

AUTOREN

Richard Johnson <rjohnson@kde.org>
    Schrieb die ursprüngliche Dokumentation.

Alex Merry <alexmerry@kde.org>
    Aktualisierte die Dokumentation für KDE Frameworks 5.

FUßNOTEN

1.  bugs.kde.org
    https://bugs.kde.org