Scroll to navigation

KGENDESIGNERPLUGI(1) KDE Frameworks: KDesignerPlugi KGENDESIGNERPLUGI(1)

NAME

kgendesignerplugin - Genereert widget-plug-ins voor Qt(TM) Designer.

SAMENVATTING

kgendesignerplugin [OPTIES...] bestand

BESCHRIJVING

De aangepaste widget-plug-ins voor Qt(TM) Designer volgen gewoonlijk een standaard patroon en de door de plug-in geleverde klassen beiden meestal statische informatie, samen met de functie om een exemplaar te maken die normaal gewoon een eenvoudige aanroep van een constructor is. kgendesignerplugin stelt ontwikkelaars van bibliotheken die nieuwe widgets leveren om zo'n plug-in te maken zonder alle geassocieerde boilerplate-code te maken, door een eenvoudige ini-stijl beschrijvingsbestand te leveren.

kgendesignerplugin kiest zinvolle standaarden voor de meeste instellingen, dus is een minimale configuratie gewoonlijk nodig.

OPTIES

-o bestand

De naam voor het gegenereerde C++ bestand. Indien niet gegeven zal stdout worden gebruikt.

-n plug-in-naam

Geboden voor compatibiliteit. De standaard waarde voor de PluginName-optie is in het invoerbestand.

-g groep

Geboden voor compatibiliteit. De standaard waarde voor de DefaultGroup-optie in het invoerbestand.

--author

Auteurinformatie tonen.

--license

Licentie-informatie tonen.

-h, --help

Een korte helptekst tonen.

-v , --version

Versie-informatie tonen

BESTANDSFORMAAT

Het invoerbestand is een configuratiebestand in ini-stijl (meer specifiek is het in het formaat ondersteund door het framework van KConfig) dat een set widgets beschrijft. Het bevat een sectie [Global], die algemene informatie over de plug-in levert en een sectie voor elk widget dat ingevoegd zou moeten worden in de plug-in.

De sectie [Global] kan de volgende items bevatten:

DefaultGroup

De standaard waarde voor het item Group in de secties klasse is standaard: "Custom", tenzij de optie -g is gegeven.

Includes

Een (kommagescheiden) lijst van vereiste includes (standaard: leeg). Merk op dat de header-bestanden voor de widgets later gespecificeerd in het bestand hier niet in de lijst moet staan; in plaats daarvan is dit voor speciale headers voor eigen gebruik van de plug-in, zoals die voor klassen die previews leveren.

PluginName

De naam van de hoofd C++ klasse in de plug-in (standaard: "WidgetsPlugin", tenzij de optie -n is gegeven).

Elk klasse moet zijn eigen sectie [ClassName] hebben, die de volgende items ingevoegd kan hebben:

CodeTemplate

De waarde teruggegeven door de functie codeTemplate() van de plug-in, die gemarkeerd is voor "toekomstig gebruik" door Qt(TM) Designer (standaard: leeg).

ConstructorArgs

De argumenten om door te geven aan de constructor van de klasse gegeven door ImplClass; deze moeten omgeven worden door ronde haakjes (standaard: "(parent)"). De enige gegarandeerde variabele die beschikbaar is is parent, wat de ouder is van QWidget doorgegeven door Qt(TM) Designer.

Dit item wordt genegeerd als CreateWidget is ingesteld.

CreateWidget

De code nodig om een exemplaar van het widget te maken (standaard: gebruikt new om een exemplaar van de klasse gegeven door het item ImplClass te maken, waarbij de argumenten gespecificeerd door ConstructorArgs) worden doorgegeven. Zie de notities voor ImplClass en ConstructorArgs.

DomXML

Een XML UI beschrijving van het widget (standaard: de standaard geleverd door de plug-in-headers van Qt(TM) Designer).

Group

De groep waaronder het widget wordt getoond in Qt(TM) Designer (standaard: de waarde van het item DefaultGroup in de sectie [Global]).

Pictogramnaam

De naam van het afbeeldingsbestand of standaard pictogramnaam voor gebruik als het pictogram voor dit widget in de lijst met Qt(TM) Designer widgets (standaard: een PNG-bestandsnaam met de sectienaam, met elke dubbele dubbelpunt verwijdert, in de map "pics" van een bij compileren ingesloten broncodebestand; bijvoorbeeld, :/pics/Foo.png in de sectie [Foo] of :/pics/FooBar.png in de sectie [Foo::Bar]).

ImplClass

De klasse die gebruikt zou moeten worden om een exemplaar van het widget te maken voor gebruik van Qt(TM) Designer (standaard: de sectienaam). Merk op dat dit niet echt de klasse hoeft te zijn die zou worden genaakt voor een eindtoepassing: die bepaald wordt door de DomXML.

Dit item wordt genegeerd als CreateWidget is ingesteld.

IncludeFile

De header die ingesloten moet worden om dit widget te gebruiken (standaard: de versie in kleine letters van de sectienaam, met elke dubbelpunt verwijdert en ".h" achtergevoegt; bijvoorbeeld, foo.h in de sectie [Foo] of foobar.h in de sectie [Foo::Bar]).

IsContainer

Of dit widget andere widgets kan bevatten (standaard: false).

Tekstballon

De te tonen tekstballon bij zweven boven het widget in de lijst met widgets van Qt(TM) Designer (standaard: de sectienaam, met " Widget" achtergevoegd; bijvoorbeeld, Foo Widget in de sectie [Foo]).

WatisDit

De WatisDit-tekst verbonden aan het widget in Qt(TM) Designer (standaard: de sectienaam, met " Widget" achtergevoegd; bijvoorbeeld, Foo Widget in de sectie [Foo]).

VOORBEELDEN

Het eenvoudigste beschrijvingsbestand kan er zo uit zien:

[Foo]
ToolTip=Toont foo's
[Bar]
ToolTip=Balk-editor

Merk op dat elke klasse minstens één set toetsen moet hebben (ToolTip is in dit voorbeeld gebruikt), anders zal het worden genegeerd.

Gewoonlijk zult u de voor de gebruiker zichtbare tekst willen wijzigen, dus de items ToolTip, WhatsThis en Group. Bovendien kan het instellen van de naam van de plug-in een goed idee zijn om mogelijke botsingen tussen symbolen te voorkomen en debuggers niet te verwarren (zowel de toepassing voor debuggen als de persoon die de debugging uitvoert):

[Global]
PluginName=FooWidgets
DefaultGroup=Display
[Foo]
ToolTip=Displays bears
WhatsThis=Een afbeeldingswidget dat dansende beren toont
[Bar]
ToolTip=Bar editor
WhatsThis=Een editor-interface voor balken voor beren
Group=Editing

Meer complexe bestanden kunnen noodzakelijk zijn als u klassen met naamruimten hebt of extra opties die het leveren van constructors nodig hebben, bijvoorbeeld:

[Global]
PluginName=FooWidgets
DefaultGroup=Foo
[Foo::Bar]
ToolTip=Toon balken
WhatsThis=Een widget die balken toont op een speciale manier
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

Soms is, speciaal bij complexe widgets, een speciale "preview class" implementatie nodig bij gebruik in Qt(TM) Designer; dit kan een subklasse zijn van de echte widget die gewoon enige extra instellingen doet of het kan een compleet andere implementatie zijn.

[Global]
Includes=foopreviews.h
[FancyWidget]
ImplClass=FancyWidgetPreview

ZIE OOK

https://doc.qt.io/doc/qt-5/designer-creating-custom-widgets.html

De documentatie van Qt(TM) Designer over het maken van plug-ins voor eigen widgets.

FOUTEN/BUGS

Gaarne bugvolger van KDE[1] gebruiken om bugrapporten in te dienen, stuur geen e-mail direct naar de auteurs.

AUTEURS

Richard Johnson <rjohnson@kde.org>

Schreef de originele documentatie.

Alex Merry <alexmerry@kde.org>

De documentatie voor KDE-frameworks; 5 is bijgewerkt.

OPMERKINGEN

1.
bugvolger van KDE
2014-05-28 KDE Frameworks Frameworks 5.0