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 een 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 Schreef de originele documentatie. Alex Merry De documentatie voor KDE-frameworks; 5 is bijgewerkt. OPMERKINGEN 1. bugvolger van KDE http://bugs.kde.org KDE Frameworks Frameworks 5.0 2014-05-28 KGENDESIGNERPLUGI(1)