KGENDESIGNERPLUGI(1) KDE Frameworks: KDesignerPlugi KGENDESIGNERPLUGI(1) NOMBRE kgendesignerplugin - Genera complementos de elementos graficos para Qt(TM) Designer. SINOPSIS kgendesignerplugin [OPCIONES...] archivo DESCRIPCION Normalmente, los complementos de los widget personalizados para Qt(TM) Designer siguen un patron estandar y las clases proporcionadas por el complemento proceden en su mayoria de informacion estatica 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 codigo repetitivo asociado proporcionando un sencillo archivo de descripcion de estilos. kgendesignerplugin elige valores predeterminados de manera sensata para la mayoria de las preferencias, por lo que normalmente, solo es necesaria una configuracion minima. OPCIONES -o archivo Nombre del archivo C++ generado. Si no se proporciona, se utilizara stdout will be used. -n nombre-del-complemento Se proporciona con fines de compatibilidad. Es el valor predeterminado para la opcion PluginName en el archivo de entrada. -g grupo Se proporciona con fines de compatibilidad. Es el valor predeterminado para la opcion DefaultGroup en el archivo de entrada. --author Mostrar informacion sobre el autor. --license Mostrar informacion sobre la licencia. -h, --help Mostrar un breve texto de ayuda. -v , --version Mostrar informacion sobre la version. FORMATO DE ARCHIVO El archivo de entrada es de tipo INI (en concreto, esta en el formato que usa el framework KConfig) que describe un conjunto de widgets. Contiene una seccion [Global], que proporciona informacion general sobre el complemento, y una seccion para cada widget que se debe incluir en el complemento. La seccion [Global] puede tener las siguientes entradas: DefaultGroup El valor predeterminado para la entrada Group en las secciones de la clase (por omision: <>, a menos que se use la opcion -g). Includes Una lista (separada por comas) de los archivos de cabecera necesarios (por omision esta vacia). Tenga en cuenta que los archivos de cabecera para los elementos graficos indicados posteriormente en el archivo no se deben incluir aqui; 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 omision, <>, a menos que se use la opcion -n). Cada clase debe tener su propia seccion [NombreDeClase], que puede incluir las siguientes entradas: CodeTemplate El valor devuelto por la funcion codeTemplate() del complemento, que el Disenador de Qt(TM) ha marcado para <> (vacio por omision). ConstructorArgs Los argumentos a pasar al constructor de la clase indicada por ImplClass; deben estar entre parentesis (por omision: <<(parent)>>). La unica variable cuya disponibilidad esta garantizada es parent, que es el QWidget padre pasado por Qt(TM) Designer. Esta entrada se ignora si esta definido CreateWidget. CreateWidget El codigo necesario para crear una instancia del widget (por omision: 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 descripcion de la interfaz de usuario del widget en XML (por omision: 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 omision: el valor de la entrada DefaultGroup en la seccion [Global]). IconName El archivo de imagen o el nombre del icono estandar a usar como icono para este widget en la lista de widgets de Qt(TM) Designer (por omision, un archivo PNG con el nombre similar al nombre de la seccion, sin los dos puntos dobles, en el directorio <> de un archivo de recursos compilado; como :/pics/Foo.png en la seccion [Foo], o :/pics/FooBar.png en la seccion [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 omision, el nombre de la seccion). Tenga en cuenta que no tiene por que ser la clase que se creara en una aplicacion final, que se define en DomXML. Esta entrada se ignora si esta definido CreateWidget. IncludeFile El archivo de cabecera que se debe incluir para usar este widget (por omision, la version en minusculas del nombre de la seccion, sin dos puntos y terminado en <<.h>>. Por ejemplo, foo.h en la seccion [Foo], o foobar.h en la seccion [Foo::Bar]. IsContainer Determina si este widget puede contener otros widgets (por omision, false). ToolTip La ayuda emergente a mostrar cuando se situa el cursor sobre el widget en la lista de widgets de Qt(TM) Designer (por omision, el nombre de la seccion, terminado en << Widget>>; por ejemplo, Foo Widget en la seccion [Foo]). WhatsThis El texto para <> asociado con el widget en Qt(TM) Designer (por omision, el nombre de la seccion terminado en << Widget>>; por ejemplo, Foo Widget en la seccion [Foo]). EJEMPLOS El archivo de descripcion mas sencillo seria 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 ignorara. Normalmente querra cambiar al menos el texto visible al usuario. Es decir, las entradas ToolTip, WhatsThis y Group. Ademas, definir un nombre para el complemento suele ser una buena idea para prevenir posibles colisiones de simbolos y no confundir a los depuradores (tanto a la aplicacion de depuracion como a la persona que realiza la depuracion): [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 edicion de barras para los osos Group=Editing Es posible que necesite archivos mas 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 grafico 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 implementacion especial para <> en Qt(TM) Designer. Puede ser una subclase del widget real que solo contiene algun tipo de configuracion adicional, o puede ser una implementacion completamente distinta. [Global] Includes=foopreviews.h [FancyWidget] ImplClass=FancyWidgetPreview CONSULTE TAMBIEN https://doc.qt.io/qt-5/designer-creating-custom-widgets.html La documentacion del Disenador de Qt(TM) sobre como crear complementos para elementos graficos 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 Escribio la documentacion original Alex Merry Actualizacion de la documentacion para KDE Frameworks 5. NOTAS 1. sistema de seguimiento de fallos de KDE https://bugs.kde.org KDE Frameworks Frameworks 5.0 28-05-2014 KGENDESIGNERPLUGI(1)