Scroll to navigation

KGENDESIGNERPLUGI(1) KDE Frameworks: KDesignerPlugi 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
28-05-2014 KDE Frameworks Frameworks 5.0