KGENDESIGNERPLUGI(1)

NOME
kgendesignerplugin - Genera estensioni di oggetti per Qt(TM) Designer.

SINOSSI

kgendesignerplugin [OPZIONI...] file

DESCRIZIONE

Le estensioni per oggetti personalizzati di Qt(TM) Designer seguono solitamente uno schema predefinito, e le classi fornite dall'estensione forniscono per lo più informazioni statiche, oltre alla funzione per creare un'istanza, che è normalmente una semplice chiamata a un costruttore. kgendesignerplugin permette agli sviluppatori di librerie di fornire nuovi oggetti per creare una tale estensione senza creare tutto il codice di routine, ma fornendo invece un semplice file descrittivo in stile ini.

kgendesignerplugin sceglie valori predefiniti ragionevoli per la maggior parte delle impostazioni, per cui normalmente è necessaria solo una configurazione minimale.

OPZIONI

-o file
    Il nome per il file C++ generato. Se non viene fornito, verrà usato stdout.

-n nome-estensione
    Disponibile per compatibilità. Il valore predefinito per l'opzione PluginName nel file di input.

-g gruppo
    Disponibile per compatibilità. Il valore predefinito per l'opzione DefaultGroup nel file di input.

--author
    Mostra le informazioni sull'autore.

--license
    Mostra le informazioni sulla licenza.

-h, --help
    Mostra un breve testo di aiuto.

-v , --version
    Mostra le informazioni sulla versione.

FORMATO DEI FILE

Il file di input è un file di configurazione di tipo INI (in particolare, è nel formato supportato dal framework KConfig) che descrive un insieme di oggetti. Contiene una sezione [Global], che fornisce informazioni generali sull'estensione, ed una sezione per ogni oggetto che deve essere incluso nell'estensione.

La sezione [Global] può avere le seguenti voci:

DefaultGroup
    Il valore predefinito per la voce Group nelle sezioni delle classi (valore predefinito: "Custom", a meno che l'opzione -g non sia stata fornita).

Includes
    Un elenco (separato da virgole) di file da includere richiesti (valore predefinito: vuoto). Nota come i file di intestazione per gli oggetti specificati successivamente nel file non vanno elencati qui; questo elenco è per le intestazioni speciali usate internamente dall'estensione, come quelli per le classi che forniscono le anteprime.

PluginName
    Il nome della classe C++ principale nell'estensione (valore predefinito: "WidgetsPlugin", a meno che l'opzione -n non sia stata specificata).

Ogni classe dovrebbe avere la propria sezione [ClassName], che può includere le seguenti voci:

CodeTemplate
    Il valore restituito dalla funzione codeTemplate() dell'estensione, che è segnata per "uso futuro" da Qt(TM) Designer (predefinito: vuoto).

ConstructorArgs
    Gli argomenti da passare al costruttore della classe fornito da ImplClass: questi devono essere racchiusi tra parentesi (valore predefinito: (parent)). L'unica variabile di cui è garantita la presenza è parent, che è l'oggetto QWidget genitore passato da Qt(TM) Designer.

    Questa voce è ignorata se CreateWidget è impostato.

CreateWidget
    Il codice necessario per creare un'istanza dell'oggetto (comportamento predefinito: usa new per creare un'istanza della classe specificata dalla voce ImplClass, passando gli argomenti specificati da ConstructorArgs). Consultare le note per ImplClass e ConstructorArgs.

DomXML
    Una descrizione XML UI dell'oggetto (valore predefinito: quanto fornito dalle intestazioni dell'estensione per Qt(TM) Designer).

Group
    Il gruppo in cui mostrare l'oggetto in Qt(TM) Designer (valore predefinito: il valore della voce DefaultGroup nella sezione [Global]).

IconName
    Il file di immagine o il nome standard di icona da usare come icona per questo oggetto nell'elenco degli oggetti di Qt(TM) Designer (valore predefinito: un file PNG chiamato come il nome della sezione ma senza doppi due punti, nella directory «pics» di un file di risorse integrato; ad esempio, :/pics/Foo.png nella sezione [Foo], o :/pics/FooBar.png nella sezione [Foo::Bar]).

ImplClass
    La classe che dovrebbe essere usata per creare un'istanza dell'oggetto per l'uso in Qt(TM) Designer (valore predefinito: il nome della sezione). Si noti come questa non deve essere necessariamente la classe che verrebbe creata per l'applicazione finale: questo viene stabilito dal valore di DomXML.

    Questa voce è ignorata se CreateWidget è impostato.

IncludeFile
    L'intestazione che è necessario includere per usare questo oggetto (valore predefinito: la versione in minuscolo del nome della sezione, con i due punti rimossi e «.h» aggiunto alla fine; ad esempio, foo.h nella sezione [Foo], o foobar.h nella sezione [Foo::Bar]).

IsContainer
    Se questo oggetto possa contenerne altri (valore predefinito: false).

ToolTip
    Il suggerimento da mostrare quando il mouse passa sull'oggetto nell'elenco degli oggetti di Qt(TM) Designer (valore predefinito: il nome della sezione, con « Widget» aggiunto alla fine; ad esempio Foo Widget nella sezione [Foo]).

WhatsThis
    Il testo «Che cos'è» associato all'oggetto in Qt(TM) Designer (valore predefinito: il nome della sezione, con « Widget» aggiunto alla fine; ad esempio, Foo Widget nella sezione [Foo]).

ESEMPI

Il file di descrizione più semplice potrebbe somigliare a:

    [Foo]
    ToolTip=Mostra foo
    [Bar]
    ToolTip=Editor di qualcosa

Si noti come ogni classe debba avere almeno una chiave impostata (in questo esempio è stata usata ToolTip), altrimenti la classe verrà ignorata.

Normalmente vorrai cambiare almeno il testo visibile all'utente, che vuol dire le voci ToolTip, WhatsThis e Group. Inoltre, impostare il nome dell'estensione può essere una buona idea per prevenire possibili conflitti di simboli e non confondere i debugger (sia l'applicazione debugger che la persona che effettua il debug):

    [Global]
    PluginName=FooWidgets
    DefaultGroup=Display
    [Foo]
    ToolTip=Mostra orsi
    WhatsThis=Un'oggetto immagine che mostra orsi danzanti
    [Bar]
    ToolTip=Editor qualcosa
    WhatsThis=Un'interfaccia editor per qualcosa per orsi
    Group=Editing

Dei file più complessi potrebbero essere necessari se ci fossero classi con namespace oppure opzioni aggiuntive che debbano essere fornite ai costruttori, ad esempio:

    [Global]
    PluginName=FooWidgets
    DefaultGroup=Foo
    [Foo::Bar]
    ToolTip=Mostra qualcosa
    WhatsThis=Un oggetto che mostra qualcosa in modo peculiare
    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

A volte degli oggetti particolarmente complessi potrebbero aver bisogno di un'implementazione di una speciale «classe di anteprima» per l'uso in Qt(TM) Designer; questa potrebbe essere una sottoclasse di un vero oggetto che esegue delle inizializzazioni aggiuntive, o potrebbe essere un'implementazione completamente diversa.

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

VEDI ANCHE

https://doc.qt.io/qt-5/designer-creating-custom-widgets.html
    La documentazione di Qt(TM) Designer sulla creazione di estensioni per oggetti personalizzati.

ERRORI

Usa il sito di gestione dei bug di KDE[1] per segnalarli, non mandare un messaggio direttamente agli autori.

AUTORI

Richard Johnson <rjohnson@kde.org>
    Ha scritto la documentazione originale.

Alex Merry <alexmerry@kde.org>
    Ha aggiornato la documentazione per KDE Frameworks 5.

NOTE

1.  il sito di gestione dei bug di KDE
    https://bugs.kde.org