KGENDESIGNERPLUGI(1)

NOMBRE
kgendesignerplugin - Genera complementos de elementos gráficos para Qt(TM) Designer.

SINOPSIS

kgendesignerplugin [OPCIONES...] archivo

DESCRIPCIÓN

Normalmente, los complementos de los widget personalizados para Qt(TM) Designer siguen un patrón estándar y las clases proporcionadas por el complemento proceden en su mayoría de información estática junto con funciones para crear una instancia que normalmente solo es una simple llamada a un constructor. kgendesignerplugin permite a los desarrolladores de bibliotecas que proporcionan nuevos widgets crear dichos complementos sin tener que escribir todo el código repetitivo asociado proporcionando un sencillo archivo de descripción de estilos.

kgendesignerplugin elige valores predeterminados de manera sensata para la mayoría de las preferencias, por lo que normalmente, solo es necesaria una configuración mínima.

OPCIONES

-o archivo
    Nombre del archivo C++ generado. Si no se proporciona, se utilizará stdout will be used.

-n nombre-del-complemento
    Se proporciona con fines de compatibilidad. Es el valor predeterminado para la opción PluginName en el archivo de entrada.

-g grupo
    Se proporciona con fines de compatibilidad. Es el valor predeterminado para la opción DefaultGroup en el archivo de entrada.

--author
    Mostrar información sobre el autor.

--license
    Mostrar información sobre la licencia.

-h, --help
    Mostrar un breve texto de ayuda.

-v , --version
    Mostrar información sobre la versión.

FORMATO DE ARCHIVO

El archivo de entrada es de tipo INI (en concreto, está en el formato que usa el framework KConfig) que describe un conjunto de widgets. Contiene una sección [Global], que proporciona información general sobre el complemento, y una sección para cada widget que se debe incluir en el complemento.

La sección [Global] puede tener las siguientes entradas:

DefaultGroup
    El valor predeterminado para la entrada Group en las secciones de la clase (por omisión: «Custom», a menos que se use la opción -g).

Includes
    Una lista (separada por comas) de los archivos de cabecera necesarios (por omisión está vacía). Tenga en cuenta que los archivos de cabecera para los elementos gráficos indicados posteriormente en el archivo no se deben incluir aquí; en lugar de ello, esto es para archivos de cabecera especiales para el propio uso del complemento, como los de las clases que proporcionan vistas previas.

PluginName
    El nombre de la clase de C++ principal del complemento (por omisión, «WidgetsPlugin», a menos que se use la opción -n).

Cada clase debe tener su propia sección [NombreDeClase], que puede incluir las siguientes entradas:

CodeTemplate
    El valor devuelto por la función codeTemplate() del complemento, que el Diseñador de Qt(TM) ha marcado para «uso futuro» (vacío por omisión).

ConstructorArgs
    Los argumentos a pasar al constructor de la clase indicada por ImplClass; deben estar entre paréntesis (por omisión: «(parent)»). La única variable cuya disponibilidad está garantizada es parent, que es el QWidget padre pasado por Qt(TM) Designer.

    Esta entrada se ignora si está definido CreateWidget.

CreateWidget
    El código necesario para crear una instancia del widget (por omisión: usa new para crear una instancia de la clase indicada en la entrada ImplClass, pasando los argumentos indicados en ConstructorArgs). Consulte las notas para ImplClass y ConstructorArgs.

DomXML
    Una descripción de la interfaz de usuario del widget en XML (por omisión: la predeterminada que proporcionan las cabeceras del complemento de Qt(TM) Designer).

Group
    El grupo bajo el que mostrar el widget en Qt(TM) Designer (por omisión: el valor de la entrada DefaultGroup en la sección [Global]).

IconName
    El archivo de imagen o el nombre del icono estándar a usar como icono para este widget en la lista de widgets de Qt(TM) Designer (por omisión, un archivo PNG con el nombre similar al nombre de la sección, sin los dos puntos dobles, en el directorio «pics» de un archivo de recursos compilado; como :/pics/Foo.png en la sección [Foo], o :/pics/FooBar.png en la sección [Foo::Bar]).

ImplClass
    La clase que se debe usar para crear una instancia del widget para que se pueda usar en Qt(TM) Designer (por omisión, el nombre de la sección). Tenga en cuenta que no tiene por qué ser la clase que se creará en una aplicación final, que se define en DomXML.

    Esta entrada se ignora si está definido CreateWidget.

IncludeFile
    El archivo de cabecera que se debe incluir para usar este widget (por omisión, la versión en minúsculas del nombre de la sección, sin dos puntos y terminado en «.h». Por ejemplo, foo.h en la sección [Foo], o foobar.h en la sección [Foo::Bar].

IsContainer
    Determina si este widget puede contener otros widgets (por omisión, false).

ToolTip
    La ayuda emergente a mostrar cuando se sitúa el cursor sobre el widget en la lista de widgets de Qt(TM) Designer (por omisión, el nombre de la sección, terminado en « Widget»; por ejemplo, Foo Widget en la sección [Foo]).

WhatsThis
    El texto para «¿Qué es esto?» asociado con el widget en Qt(TM) Designer (por omisión, el nombre de la sección terminado en « Widget»; por ejemplo, Foo Widget en la sección [Foo]).

EJEMPLOS

El archivo de descripción más sencillo sería parecido a:

    [Foo]
    ToolTip=Muestra foo
    [Bar]
    ToolTip=Editor de Bar

Note que cada clase debe tener al menos un conjunto de claves (en este ejemplo se ha usado ToolTip). En caso contrario se ignorará.

Normalmente querrá cambiar al menos el texto visible al usuario. Es decir, las entradas ToolTip, WhatsThis y Group. Además, definir un nombre para el complemento suele ser una buena idea para prevenir posibles colisiones de símbolos y no confundir a los depuradores (tanto a la aplicación de depuración como a la persona que realiza la depuración):

    [Global]
    PluginName=FooWidgets
    DefaultGroup=Display
    [Foo]
    ToolTip=Muestra osos
    WhatsThis=Un elemento de imagen que muestra osos bailando
    [Bar]
    ToolTip=Editor de barras
    WhatsThis=Una interfaz de edición de barras para los osos
    Group=Editing

Es posible que necesite archivos más complejos si tiene clases dentro de espacios de nombres o necesita pasar opciones adicionales a los constructores. Por ejemplo:

    [Global]
    PluginName=FooWidgets
    DefaultGroup=Foo
    [Foo::Bar]
    ToolTip=Muestra barras
    WhatsThis=Un elemento gráfico que mustra barras de una forma particular
    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 veces, los widgets especialmente complejos pueden necesitar una implementación especial para «previsualizar la clase» en Qt(TM) Designer. Puede ser una subclase del widget real que solo contiene algún tipo de configuración adicional, o puede ser una implementación completamente distinta.

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

CONSULTE TAMBIÉN

https://doc.qt.io/qt-5/designer-creating-custom-widgets.html
    La documentación del Diseñador de Qt(TM) sobre cómo crear complementos para elementos gráficos personalizados.

FALLOS

Para informar sobre fallos use el sistema de seguimiento de fallos de KDE[1] en lugar de enviar un mensaje directamente a los autores.

AUTORES

Richard Johnson <rjohnson@kde.org>
    Escribió la documentación original

Alex Merry <alexmerry@kde.org>
    Actualización de la documentación para KDE Frameworks 5.

NOTAS

1.  sistema de seguimiento de fallos de KDE
    https://bugs.kde.org