Scroll to navigation

KGENDESIGNERPLUGI(1) KDE ramverk: KDesignerPlugin KGENDESIGNERPLUGI(1)

NAMN

kgendesignerplugin - Skapar grafiska instickskomponenter för Qt(TM) Designer.

SYNOPSIS

kgendesignerplugin [VÄLJARE...] fil

BESKRIVNING

De anpassade insticksmodulerna för Qt(TM) Designer följer vanligtvis ett standardmönster, och klasserna som tillhandahålls av insticksmodulen tillhandahåller statisk information, tillsammans med en funktion för att skapa en instans som normalt bara är ett enkelt konstruktoranrop. kgendesignerplugin låter utvecklare av bibliotek som tillhandahåller nya grafiska komponenter skapa en sådan insticksmodul utan att skapa all tillhörande standardkod, genom att tillhandahålla en enkel beskrivningsfil med ini-stil.

kgendesignerplugin väljer rimliga standardvärden för de flesta inställningarna, så minimal inställning är oftast nödvändig.

VÄLJARE

-o fil

Namnet på den skapade C++ filen. Om inte angiven, används standardutmatningen.

-n insticksnamn

Tillhandahålls för kompatibilitet. Standardvärdet på alternativet PluginName i indatafilen.

-g grupp

Tillhandahålls för kompatibilitet. Standardvärdet på alternativet DefaultGroup i indatafilen.

--author

Visa information om upphovsman.

--license

Visa licensinformation.

-h, --help

Visa en kortfattad hjälptext.

-v , --version

Visa versionsinformation.

FILFORMAT

Indatafilen är en inställningsfil med ini-stil (mer specifikt använder den formatet som stöds av ramverket KConfig) som beskriver en uppsättning grafiska komponenter. Den innehåller sektionen [Global], som tillhandahåller allmän information om insticksmodulen, och en sektion för varje grafisk komponent som ska ingå i insticksmodulen.

Sektionen [Global] kan ha följande poster:

DefaultGroup

Standardvärdet för posten Group i klassektionen (standardvärde: "Custom", om inte väljaren -g anges).

Includes

En lista med deklarationsfiler som krävs (åtskilda med kommatecken, normalt tom). Observera att deklarationsfilerna för de grafiska komponenterna som specificeras senare i filen inte ska listas här, istället är detta till för särskilda deklarationsfiler för insticksmodulens egen användning, såsom de för klasser som tillhandahåller förhandsgranskningar.

PluginName

Namnet på den huvudsakliga C++ klassen i insticksmodulen (standardvärde: "WidgetsPlugin", om inte väljaren -n anges).

Varje klass ska ha sin egen sektion [klassnamn], som kan innehålla följande poster:

CodeTemplate

Värdet som returneras av insticksmodulens funktion codeTemplate(), som är markerad för "framtida användning" av Qt(TM) Designer (standardvärde: tom).

ConstructorArgs

Argumentet att skicka till klassens konstruktor given av ImplClass. De måste vara omgivna av parenteser(standardvärde: "(parent)"). Den enda variabel som garanterat är tillgänglig är parent, som är den överliggande QWidget-klassen som skickas med av Qt(TM) Designer.

Den här posten ignoreras om CreateWidget är angivet.

CreateWidget

Koden som är nödvändig för att skapa en instans av den grafiska komponenten (standardvärde: använder new för att skapa en instans av klassen given av posten ImplClass, och skickar med argumenten som anges av ConstructorArgs). Se anmärkningarna för ImplClass och ConstructorArgs.

DomXML

En XML UI-beskrivning av den grafiska komponenten (standardvärde: de förvalda värden som tillhandahålls av Qt(TM) Designer deklarationsfiler för insticksmoduler).

Group

Grupp att visa den grafiska komponenten under i Qt(TM) Designer (standardvärde: värdet på posten DefaultGroup i sektionen [Global]).

IconName

Bildfilen eller standardikonnamnet att använda som ikon för den här grafiska komponenten i Qt(TM) Designers komponentlista (standardvärde: en PNG-fil namngiven med sektionsnamnet, med eventuella dubbla kolon borttagna, i katalogen "pics" i en inkompilerad resursfil, till exempel :/pics/Sektion.png för sektionen [Sektion], eller :/pics/SektionKlass.png för sektionen [Sektion::Klass]).

ImplClass

Klassen som ska användas för att skapa en instans av den grafiska komponenten för användning av Qt(TM) Designer (standardvärde: sektionsnamnet). Observera att det inte behöver vara klassen som ska skapas för en slutapplikation: Den bestäms av DomXML.

Den här posten ignoreras om CreateWidget är angivet.

IncludeFile

Deklarationsfilen som måste inkluderas för att använda den här grafiska komponenten (standardvärde: sektionsnamnet med små bokstäver, med eventuella kolon borttagna och ".h" tillagt sist, exempelvis sektion.h för sektionen [Sektion] eller sektionklass för sektionen [Sektion::Klass]).

IsContainer

Om den här grafiska komponenten kan innehålla andra grafiska komponenter (standardvärde false).

ToolTip

Verktygstipset att visa när musen hålls över den grafiska komponenten i Qt(TM) Designers komponentlista (standardvärde: sektionsnamnet med "Widget" tillagt sist, exempelvis Sektion Widget i sektionen [Sektion]).

WhatsThis

Vad är det här-texten som hör ihop med den grafiska komponenten i Qt(TM) Designer (standardvärde: sektionsnamnet med "Widget" tillagt sist, exempelvis Sektion Widget för sektionen [Sektion]).

EXEMPEL

Den enklast möjliga beskrivningsfilen kan se ut så här

[Foo]
ToolTip=Displays foos
[Bar]
ToolTip=Bar editor

Observera att varje klass måste ha minst en nyckeluppsättning (ToolTip användes i det här exemplet), annars ignoreras den.

Oftast vill man åtminstone ändra den användarsynliga texten, vilket betyder posterna ToolTipWhatsThis och Group. Dessutom kan det vara en bra idé att ange insticksmodulens namn för att förhindra möjliga symbolkollisioner och inte göra avlusare förvirrade (både avlusningsprogrammet och personen som avlusar).

[Global]
PluginName=MinaKomponenter
DefaultGroup=Display
[X]
ToolTip=Visar björnar
WhatsThis=En bildkomponent som visar dansande björnar
[Bar]
ToolTip=Bar-editor
WhatsThis=En editorgränssnitt för björnbarer
Group=Editing

Mer komplexa filer kan behövas om man exempelvis har klasser med namnrymder eller extra alternativ som måste skickas till konstruktorer.

[Global]
PluginName=MinaKomponenter
DefaultGroup=Grupp
[Grupp::Bar]
ToolTip=Visar barer
WhatsThis=En grafisk komponent som visar barer på ett visst sätt
IncludeFile=grupp/bar.h
IconName=:/förhandsgranskning/bar.png
[Grupp::Baz]
IncludeFile=grupp/baz.h
ConstructorArgs=(Grupp::Baz::Ett_alternativ, parent)
Group=Grupp (Special)
IsContainer=true
IconName=:/förhandsgranskning/baz.png

Ibland kan särskilt komplexa grafiska komponenter kräva en särskild implementering av en "förhandsgranskningsklass" för användning i Qt(TM) Designer. Det kan vara en delklass av den verkliga grafiska komponenten som bara gör en del extra inställningar, eller en helt annorlunda implementering.

[Global]
Includes=gruppförhandsgranskningar.h
[Snygg_komponent]
ImplClass=Snygg_komponent_förhandsgranskning

SE OCKSÅ

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

Qt(TM) Designer-dokumentationen om hur man skapar insticksmoduler för egna grafiska komponenter.

FEL

Använd KDE:s felspårningsverktyg[1] för att rapportera fel, skicka inte e-post direkt till upphovsmännen.

AUTHORS

Richard Johnson <rjohnson@kde.org>

Skrev den ursprungliga dokumentationen.

Alex Merry <alexmerry@kde.org>

Uppdaterade dokumentationen för KDE ramverk 5.

NOTER

1.
KDE:s felspårningsverktyg
2014-05-28 KDE Ramverk Ramverk 5.0