<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TipeSoft</title>
	<atom:link href="https://tipesoft.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://tipesoft.com</link>
	<description>Formación técnica para jóvenes desarrolladores</description>
	<lastBuildDate>Wed, 07 Feb 2024 08:36:21 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Plugins QML para Velneo 7.24, 32 y 64 bits</title>
		<link>https://tipesoft.com/plugins-qml-para-velneo-32-64-bits/</link>
					<comments>https://tipesoft.com/plugins-qml-para-velneo-32-64-bits/#respond</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Fri, 30 Aug 2019 09:47:32 +0000</pubDate>
				<category><![CDATA[PaaSOS]]></category>
		<category><![CDATA[Velneo]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[QML]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[QtQuick]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=19082</guid>

					<description><![CDATA[<p>Como sabréis, en las últimas versiones de Velneo, se han actualizado las librerías de Qt a la versión 5.9.x. Por ello hemos decidido actualizar las compilaciones de los plugins de QML que tenemos disponibles para dar soporte a 32 y 64 bits. En esta compilación se han usado las versiones Qt 5.9.5, compiladores C y [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/plugins-qml-para-velneo-32-64-bits/">Plugins QML para Velneo 7.24, 32 y 64 bits</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Como sabréis, en las últimas versiones de Velneo, se han actualizado las librerías de Qt a la versión 5.9.x.</p>



<p>Por ello <strong>hemos decidido actualizar las compilaciones de los plugins de QML</strong> que tenemos disponibles para dar <strong>soporte a 32 y 64 bits</strong>.</p>



<figure class="wp-block-image aligncenter"><img fetchpriority="high" decoding="async" width="1295" height="627" src="https://tipesoft.com/wp-content/uploads/2019/08/QtCreator.png" alt="" class="wp-image-19132" srcset="https://tipesoft.com/wp-content/uploads/2019/08/QtCreator.png 1295w, https://tipesoft.com/wp-content/uploads/2019/08/QtCreator-136x66.png 136w, https://tipesoft.com/wp-content/uploads/2019/08/QtCreator-640x310.png 640w, https://tipesoft.com/wp-content/uploads/2019/08/QtCreator-768x372.png 768w, https://tipesoft.com/wp-content/uploads/2019/08/QtCreator-900x436.png 900w, https://tipesoft.com/wp-content/uploads/2019/08/QtCreator-144x70.png 144w, https://tipesoft.com/wp-content/uploads/2019/08/QtCreator-196x95.png 196w" sizes="(max-width: 1295px) 100vw, 1295px" /></figure>



<p>En esta compilación se han usado las versiones <strong>Qt 5.9.5, compiladores C y C++</strong> de Microsoft en sus versiones<strong> 2015 de 32 y 64 bits</strong>.</p>



<p>Para aquellos que os perdisteis que son, y como se compilan los plugins QML para Velneo, os refrescamos los artículos donde hablamos de ello:</p>



<ul class="wp-block-list">
<li><a href="https://tipesoft.com/compilar-plugins-qml-para-velneo/">Compilar plugins QML para Velneo</a></li>



<li><a href="https://tipesoft.com/desarrollar-plugins-qml-para-velneo/">Desarrollar plugins QML para Velneo</a></li>



<li><a href="https://tipesoft.com/que-es-un-plugin-qml/">Qué es un Plugin QML</a></li>
</ul>



<p>Para descargar los plugins, tenéis que registraros y proceder a su descarga desde los siguientes botones de descarga:</p>



<h4 class="wp-block-heading">QtAV</h4>



<p>Artículos originales:</p>



<ul class="wp-block-list">
<li><a href="https://tipesoft.com/qtav-en-velneo/" target="_blank" rel="noopener noreferrer">QtAV en Velneo</a></li>



<li><a style="font-size: revert; background-color: var(--kenta-base-100);" href="https://tipesoft.com/qtav-video-player-para-velneo/" target="_blank" rel="noopener noreferrer">QtAV Video Player para Velneo</a> </li>
</ul>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-45f68313">
<div class="kb-button-wrapper kb-button-wrapper-7cfe83fc"><a class="wp-block-kenta-blocks-button kb-button kb-button-7cfe83fc kb-button-right" href="https://tipesoft.com/descarga/19090/"><i class="fas fa-download"></i><span>QtAV v7.24.x. x64: Descargar Plugin QtAV Win64.<br><br><sub>Esta descarga usa Velneo como plataforma.</sub></span></a></div>
</div>



<h4 class="wp-block-heading">Box2D</h4>



<p>Artículo original:</p>



<ul class="wp-block-list">
<li><a href="https://tipesoft.com/box2d-en-velneo/" target="_blank" rel="noopener noreferrer">Box2D en Velneo</a></li>
</ul>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-0937ca99">
<div class="kb-button-wrapper kb-button-wrapper-beed83f1"><a class="wp-block-kenta-blocks-button kb-button kb-button-beed83f1 kb-button-right" href="https://tipesoft.com/descarga/19101/"><i class="fas fa-download"></i><span>Box2D v7.24.x. x64: Descargar Plugin Box2D Win64.<br><br><sub>Esta descarga usa Velneo como plataforma.</sub></span></a></div>
</div>



<h4 class="wp-block-heading">QZXing</h4>



<p>Artículo original:</p>



<ul class="wp-block-list">
<li><a href="https://tipesoft.com/qzxing-en-velneo/" target="_blank" rel="noopener noreferrer">QZXing en Velneo</a></li>
</ul>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-012e26f5">
<div class="kb-button-wrapper kb-button-wrapper-358552b4"><a class="wp-block-kenta-blocks-button kb-button kb-button-358552b4 kb-button-right" href="https://tipesoft.com/descarga/19104/"><i class="fas fa-download"></i><span>QZXing v7.24.x. x64: Descargar Plugin QZXing Win64.<br><br><sub>Esta descarga usa Velneo como plataforma.</sub></span></a></div>
</div>



<h4 class="wp-block-heading">QtRecorder</h4>



<p>Artículo original:</p>



<ul class="wp-block-list">
<li><a style="font-size: inherit;" href="https://tipesoft.com/qtrecorder-en-velneo/" target="_blank" rel="noopener noreferrer">QtRecorder en Velneo</a></li>
</ul>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-e14ce01c">
<div class="kb-button-wrapper kb-button-wrapper-3b7301f3"><a class="wp-block-kenta-blocks-button kb-button kb-button-3b7301f3 kb-button-right" href="https://tipesoft.com/descarga/19117/"><i class="fas fa-download"></i><span>QtRecorder v7.24.x. x64: Descargar Plugin QtRecorder Win64.<br><br><sub>Esta descarga usa Velneo como plataforma.</sub></span></a></div>
</div>



<h4 class="wp-block-heading">VNC Viewer</h4>



<p>Artículo original:</p>



<ul class="wp-block-list">
<li><a href="https://tipesoft.com/vnc-viewer-en-velneo/" target="_blank" rel="noopener noreferrer">VNC Viewer en Velneo</a></li>
</ul>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-b3cb23fc">
<div class="kb-button-wrapper kb-button-wrapper-29020c94"><a class="wp-block-kenta-blocks-button kb-button kb-button-29020c94 kb-button-right" href="https://tipesoft.com/descarga/19121/"><i class="fas fa-download"></i><span>VncViewer v7.24.x. x64: Descargar Plugin VncViewer Win64.<br><br><sub>Esta descarga usa Velneo como plataforma.</sub></span></a></div>
</div>



<p><div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-e14ce01c"> </div> </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Esperamos que los probéis y uséis en vuestras aplicaciones Velneo. Si detectáis algún problema no tardéis en reportarlo mediante los comentarios en este mismo hilo.</p>
</blockquote><p>The post <a href="https://tipesoft.com/plugins-qml-para-velneo-32-64-bits/">Plugins QML para Velneo 7.24, 32 y 64 bits</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/plugins-qml-para-velneo-32-64-bits/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Nueva versión de PaaSOS 1.8</title>
		<link>https://tipesoft.com/nueva-version-paasos-1-8/</link>
					<comments>https://tipesoft.com/nueva-version-paasos-1-8/#respond</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Tue, 23 Oct 2018 15:34:57 +0000</pubDate>
				<category><![CDATA[PaaSOS]]></category>
		<category><![CDATA[Software de gestión]]></category>
		<category><![CDATA[Software empresarial]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=15868</guid>

					<description><![CDATA[<p>En 2016 os presentamos la versión 1.7 de PaaSOS, completa y cargada de importantes novedades: Todas ellas nos han permitido crecer en distintas funcionalidades del producto (especialmente en el área de desarrollo de aplicaciones móviles e integración de aplicaciones). Durante todo este tiempo hemos recibido vuestros comentarios y errores detectados. Gracias a ello, hemos podido [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/nueva-version-paasos-1-8/">Nueva versión de PaaSOS 1.8</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>En 2016 os presentamos la versión 1.7 de PaaSOS, completa y cargada de importantes novedades:</p>



<ul class="wp-block-list">
<li><a href="https://tipesoft.com/api-restful-paasos/">API Restful para PaaSOS</a></li>



<li><a href="https://tipesoft.com/novedades-paasos-pos/">Novedades en PaaSOS POS</a></li>



<li><a href="https://tipesoft.com/novedades-paasos-cloud-nueva-web/">Novedades en PaaSOS Cloud</a></li>



<li><a href="https://tipesoft.com/mas-soft-menos-hard/">Más soft, menos hard.</a></li>
</ul>



<p>Todas ellas nos han permitido crecer en distintas <strong>funcionalidades del producto</strong> (especialmente en el área de desarrollo de <strong>aplicaciones móviles</strong> e <strong>integración de aplicaciones</strong>).</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/10/image-2.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/10/image_thumb-2.png" alt="image" title="image"/></a></figure>



<p>Durante todo este tiempo hemos recibido vuestros <strong>comentarios y errores detectados</strong>. Gracias a ello, hemos podido corregir todas las áreas funcionales que habéis requerido.</p>



<p>Por otro lado, hemos visto y <strong>aprendido de las limitaciones</strong> tecnológicas de nuestro producto en áreas geográficas dispersas. <strong>La latencia</strong> ha sido uno de los grandes problemas a los que los desarrolladores de PaaSOS se han enfrentado.</p>



<p>Trabajando en todas estas cuestiones durante dos años, hemos conseguido mejorar el producto en todas las áreas, ahora <strong>es momento de que los usuarios puedan disfrutar de todas estas mejoras</strong>.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/10/image-3.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/10/image_thumb-3.png" alt="image" title="image"/></a></figure>



<h2 class="wp-block-heading">Cambios fundamentales</h2>



<p>Después de dos años de estabilidad y balance de uso, es hora de tomar <strong>decisiones importantes</strong> respecto al futuro de PaaSOS.</p>



<p>Como cuestión fundamental hemos concluido que la comunidad de desarrolladores Velneo no le gusta lo “colaborativo”, a los resultados nos remitimos. Solo algunas empresas (a las que damos un soporte muy personal) han aprovechado la oportunidad (gracias especialmente a aquellas que han desarrollado su modelo de negocio en base a nuestros productos, estar tranquilos, os seguiremos apoyando en vuestros proyectos).</p>



<p>Es por ello que <strong>el fondo de los cambios es la reorientación de nuestros servicios a empresas finales</strong>. Para conseguir este objetivo hemos decidido acometer los siguientes cambios:</p>



<ul class="wp-block-list">
<li>“<strong>No al Open Source</strong>”. No habrá soporte EUPL v1.1 en la nueva versión 1.8 o posteriores. No tiene sentido si la comunidad no aprovecha esta ventaja.</li>



<li>“<strong>No queremos nuevos colaboradores</strong>”. No se firmarán nuevos contratos de colaboración con desarrolladores. El contrato de colaboración ha sido un fracaso.</li>



<li>“<strong>Pago anual</strong>”. No se aceptarán pagos mensuales de las licencias para uso comercial. En adelante el pago será anual para simplificar la gestión de los pagos (se mantienen los precios y servicios).</li>



<li>“<strong>Solo cloud</strong>”. No habrá instalables en local de nuestras demos de producto, solo podrás probarlos en la nube.</li>
</ul>



<h2 class="wp-block-heading">Mejoras de arquitectura</h2>



<p>Desde hace unos años se ha estado imponiendo 64bits como arquitectura mayoritaria en el mercado. A día de hoy ya es una realidad. No podemos retrasar más el cambio de arquitectura.</p>



<ul class="wp-block-list">
<li>Soporte a <strong>arquitectura de 64bits</strong>. Ahora el cliente de ejecución y los servidores en la nube funcionan únicamente en 64 bits.</li>



<li>Nuevos <strong>servidores Linux de 64 bits</strong>. Se ha procedido a migrar y actualizar la infraestructura cloud de todos los nodos.</li>



<li>Soporte a la <strong>última versión de Velneo</strong> (7.23.1) con mejoras considerables respecto a la anterior (7.19.1) que usábamos en PaaSOS v1.7.</li>
</ul>



<h2 class="wp-block-heading">Mejoras de producto</h2>



<p>Por otro lado, otro de los caballos de batalla, ha sido el menú de inicio. Hoy podemos disfrutar de una mejora considerable del mismo en la nueva versión.</p>



<ul class="wp-block-list">
<li>Nuevo diseño del <strong>menú de inicio</strong></li>



<li>Nuevo diseño del <strong>lanzador de favoritos</strong></li>
</ul>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/10/image.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/10/image_thumb.png" alt="image" title="image"/></a></figure>



<ul class="wp-block-list">
<li><strong>Rediseño del TPV</strong> en base a los nuevos patrones facilitados en el vERP</li>
</ul>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/10/image-1.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/10/image_thumb-1.png" alt="image" title="image"/></a></figure>



<ul class="wp-block-list">
<li>Mejoras de <strong>estilo en Windows</strong></li>



<li>Mejoras de <strong>estilo en Linux</strong></li>



<li><strong>Mejoras en los dashboards</strong> y mayor integración con el escritorio</li>



<li>Mejoras de <strong>rendimiento en la carga e inicio </strong>de las aplicaciones</li>
</ul>



<h2 class="wp-block-heading">Mejoras de PaaSOS Cloud</h2>



<ul class="wp-block-list">
<li>Soporte completo para <strong>64 bits</strong></li>



<li><strong>Nuevos servidores</strong> en la nube (más rápidos y mejorados)</li>



<li><strong>Mejoras en el sistema de actualización </strong>de aplicaciones</li>



<li><strong>Mejoras en el sistema de backups</strong> de aplicaciones y datos</li>



<li>Disponibles <strong>dos nuevos pack de productos </strong>en el procedimiento de instalación:
<ul class="wp-block-list">
<li>Pack – <strong>Facturación y administración</strong></li>



<li>Pack – <strong>Gestión de clientes e incidencias</strong></li>



<li>Pack –<strong> Gestión de personal y contratación<strong><br></strong></strong></li>
</ul>
</li>



<li><strong>Mejoras de rendimiento</strong> en entornos Cloud</li>



<li>Soporte a la nueva API de SendGrid. Mejoras en las notificaciones por email</li>
</ul>



<h2 class="wp-block-heading">Correcciones</h2>



<ul class="wp-block-list">
<li>Soporte a <strong>Google Maps v3</strong></li>



<li>Soporte a <strong>nueva API de Twitter</strong> para el cliente PaaSOS NET</li>



<li>Soporte a <strong>nueva API de Facebook</strong> para el cliente PaaSOS NET (mejora continua)</li>



<li>Correcciones en<strong> PaaSOS API</strong></li>



<li>Correcciones en los productos <strong>PaaSOS ERP</strong> y <strong>TPV</strong></li>
</ul>



<p>Esperamos que todas estas novedades sean de vuestro agrado. Seguimos trabajando para mejorar día a día este gran producto.</p><p>The post <a href="https://tipesoft.com/nueva-version-paasos-1-8/">Nueva versión de PaaSOS 1.8</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/nueva-version-paasos-1-8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>VNC Viewer en Velneo</title>
		<link>https://tipesoft.com/vnc-viewer-en-velneo/</link>
					<comments>https://tipesoft.com/vnc-viewer-en-velneo/#comments</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Mon, 02 Apr 2018 08:52:13 +0000</pubDate>
				<category><![CDATA[Un problema, una solución]]></category>
		<category><![CDATA[Velneo]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[QML]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[QtQuick]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=15675</guid>

					<description><![CDATA[<p>VNC es una de las soluciones Open Source de escritorio remoto más usadas por todos. Simple de instalar, de configurar y de usar, nos permite conectar remotamente a un ordenador que tenga instalado VNC Server (el servidor VNC que soporte este protocolo). Partiendo del código fuente del plugin QmlVncViewer&#160; https://github.com/heroyin/qmlvncviewer con licencia https://github.com/heroyin/qmlvncviewer/blob/master/LICENSE hemos compilado [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/vnc-viewer-en-velneo/">VNC Viewer en Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>VNC </strong>es una de las soluciones <strong>Open Source</strong> de <strong>escritorio remoto</strong> más usadas por todos.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://es.wikipedia.org/wiki/VNC
</div></figure>



<p><b>VNC</b> son las siglas en inglés de <i>Virtual Network Computing</i> (<b>Computación Virtual en Red</b>).</p>



<p><b>VNC</b> es un programa de <a href="https://es.wikipedia.org/wiki/Software_libre">software libre</a> basado en una estructura cliente-servidor que permite observar las acciones del ordenador servidor remotamente a través de un ordenador cliente. VNC no impone restricciones en el sistema operativo del ordenador servidor con respecto al del cliente: es posible compartir la pantalla de una máquina con cualquier sistema operativo que admita VNC conectándose desde otro ordenador o dispositivo que disponga de un cliente VNC portado.</p>



<p>La versión original del <b>VNC</b> se desarrolló en el <a href="https://es.wikipedia.org/wiki/Reino_Unido">Reino Unido</a>, concretamente en los laboratorios AT&amp;T <a href="https://es.wikipedia.org/w/index.php?title=Olivetti_Research_Laboratory&amp;action=edit&amp;redlink=1">Olivetti Research Laboratory</a>, en <a href="https://es.wikipedia.org/wiki/Cambridge">Cambridge</a>. El programa era de <a href="https://es.wikipedia.org/wiki/C%C3%B3digo_abierto">código abierto</a>, por lo que cualquiera podía modificarlo, y existen hoy en día varios programas para el mismo uso. Muchos derivados modernos de él son <a href="https://es.wikipedia.org/wiki/Software_libre">software libre</a> con licencia <a href="https://es.wikipedia.org/wiki/GNU_General_Public_License">GPL</a>.</p>



<p>…</p>
</blockquote>



<p>Simple de instalar, de configurar y de usar, nos permite conectar remotamente a un ordenador que tenga instalado <strong>VNC Server </strong>(el servidor VNC que soporte este protocolo).</p>



<p>Partiendo del código fuente del plugin <strong>QmlVncViewer</strong>&nbsp; <a title="https://github.com/heroyin/qmlvncviewer" href="https://github.com/heroyin/qmlvncviewer">https://github.com/heroyin/qmlvncviewer</a> con licencia <a title="https://github.com/heroyin/qmlvncviewer/blob/master/LICENSE" href="https://github.com/heroyin/qmlvncviewer/blob/master/LICENSE">https://github.com/heroyin/qmlvncviewer/blob/master/LICENSE</a> hemos compilado para Win32 obteniendo un plugin sencillo y funcional. No hemos necesitado realizar ninguna modificación en el mismo.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/04/image.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/04/image_thumb.png" alt="image" title="image"/></a></figure>



<p>Este plugin usa las librerías de <a title="http://www.tightvnc.com/" href="http://www.tightvnc.com/">http://www.tightvnc.com/</a> con licencia <strong>GNU GPL v2</strong> <a title="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html" href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">https://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a>. <strong>Esta licencia nos obliga a liberar todo el código fuente de las aplicaciones donde se integre con la misma licencia (o licencia abierta equivalente)</strong>.</p>



<p>En caso de querer usarlas <strong>para uso comercial tienes</strong> una segunda opción, la <strong>licencia comercial</strong>. La puedes solicitar en <a title="https://www.tightvnc.com/licensing.php" href="https://www.tightvnc.com/licensing.php">https://www.tightvnc.com/licensing.php</a>. Esta licencia os permitiría incluirla en productos comerciales.</p>



<h2 class="wp-block-heading">Compilar QmlVncViewer para Velneo</h2>



<p>La compilación no es especialmente compleja, aunque lo cierto es que no hay nada de documentación al respecto.</p>



<p>Primero tienes que compilar la solución <strong>tightvnc.sln</strong>, para <strong>Win32 en modo Release</strong> desde <strong>Visual Studio 2013</strong>. Es importante que marques todos los proyectos para que se compilen en modo <strong>Multi-threaded DLL (/MD)</strong></p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/04/image-1.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/04/image_thumb-1.png" alt="image" title="image"/></a></figure>



<p>Después abre desde <strong>QtCreator</strong> el fichero <strong>vncroot.pro</strong> y procede a la compilación en modo Release. Recuerda que el entorno requerido es el que os explicamos en el artículo <a title="https://tipesoft.com/compilar-plugins-qml-para-velneo/" href="https://tipesoft.com/compilar-plugins-qml-para-velneo/">https://tipesoft.com/compilar-plugins-qml-para-velneo/</a>. Poco más que añadir.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/04/image-2.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/04/image_thumb-2.png" alt="image" title="image"/></a></figure>



<h2 class="wp-block-heading">Ejemplo del Plugin QML VncViewer</h2>



<p>A partir de ahora podrás disfrutar de ella en <strong>Velneo</strong> gracias a este nuevo plugin que os presentamos hoy.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/04/image-3.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/04/image_thumb-3.png" alt="image" title="image"/></a></figure>



<p>Como veis, podemos conectarnos sin ningún problema desde <strong>Velneo</strong> a nuestros servidores VNC gracias a este nuevo plugin.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/04/image-4.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/04/image_thumb-4.png" alt="image" title="image"/></a></figure>



<p>Desde el punto de vista de la implementación <strong>QML</strong>, poco que decir. Disponemos de un Elemento QML llamado <strong>VncViewer</strong> donde establecemos el <strong>host</strong>, <strong>port</strong> y <strong>password</strong>. Por otro lado, usamos la función adjustView() para ajustar el scrollView que nos permite acceder a todo el escritorio de la máquina a la que estamos conectados.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/04/image-5.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/04/image_thumb-5.png" alt="image" title="image"/></a></figure>



<p>Para iniciar el visor, usamos<strong> vncViewer.start()</strong>. Para cerrar la visualización usamos <strong>vncViewer.stop()</strong> y para refrescar la misma <strong>vncViewer.refresh()</strong>. Es importante la parada de la visualización ya que es un raw abierto en un socket.</p>



<p>Para nuestras pruebas, hemos usado en el lado del servidor <strong>UltraVNC Sever</strong> (<a title="http://www.uvnc.com/" href="http://www.uvnc.com/">http://www.uvnc.com/</a>). Hemos obtenido buenos resultados, sin ningún problema importante.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/04/image-6.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/04/image_thumb-6.png" alt="image" title="image"/></a></figure>



<p>Respecto a a la configuración del servidor, es importante fijar el puerto, abrir el firewall y establecer las dos contraseñas requeridas. El resto de los parámetros los podemos dejar por defecto.</p>



<p>Por otro lado, recordaros que VNC no es que sea especialmente seguro, por lo que se recomienda mantener actualizadas las versiones de nuestros servidores VNC. Por otro lado fija contraseñas fuertes y mantenlas actualizadas.</p>



<h2 class="wp-block-heading">Descargas</h2>



<p>Como podéis apreciar, es un plugin fenomenal. Os dejamos disponible todo lo necesario para que podáis disfrutar de el en Velneo 7.22.1.</p>



<p class="has-text-align-center"><i></i><a href="https://github.com/heroyin/qmlvncviewer">Descargar código fuente del plugin QML</a></p>



<p>Recuerda que esta librería tendrás que <strong>compilarla para la versión adecuada</strong> de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para <strong>Windows x32 en un descargable</strong>. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo. Recuerda respetar la licencia abierta del mismo, esta librería tiene restricciones importantes de uso, no te las saltes.</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-b3516c8a">
<div class="kb-button-wrapper kb-button-wrapper-658f3886"><a class="wp-block-kenta-blocks-button kb-button kb-button-658f3886 kb-button-right" href="https://tipesoft.com/descarga/15679/"><i class="fas fa-cloud"></i><span><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-kenta-base-100-color">Descargar Plugin QML para Velneo v7.22.1.<br></mark><br>Esta descarga usa Velneo como plataforma. Estas librerías requieren Velneo 7.22.1. x32<br><br><sub>Descarga libre</sub></span></a></div>
</div>



<p class="has-text-align-center">Esta vez no os damos acceso al <strong>VIN con el ejemplo</strong> por cuestiones de licencia, pero no os preocupéis&#8230; es tan simple como crear un proyecto Velneo que contenga un <a href="https://github.com/heroyin/qmlvncviewer/blob/master/demo/main.qml">fichero QML con el ejemplo</a> incluido en el código fuente anteriormente enlazado. Si tenéis dudas&#8230; no tardéis en comentar para aclararlas. Podéis fijaros en los anteriores.</p>



<p>Ante todo, no se te olvide respetar las licencias de todos ellos.</p>



<p><a href="https://tipesoft.com/wp-content/uploads/2018/04/image-4.png">&nbsp;</a></p><p>The post <a href="https://tipesoft.com/vnc-viewer-en-velneo/">VNC Viewer en Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/vnc-viewer-en-velneo/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Qu&#233; es un Plugin QML</title>
		<link>https://tipesoft.com/que-es-un-plugin-qml/</link>
					<comments>https://tipesoft.com/que-es-un-plugin-qml/#comments</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Fri, 23 Mar 2018 10:47:22 +0000</pubDate>
				<category><![CDATA[La reflexión es un camino]]></category>
		<category><![CDATA[QML]]></category>
		<category><![CDATA[QtQuick]]></category>
		<category><![CDATA[Velneo]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=15655</guid>

					<description><![CDATA[<p>Nuestro buen amigo Paco Satué nos deja caer en uno de nuestros últimos artículos que sería interesante aclarar para toda la comunidad Velneo una serie de cuestiones: Paco Satué marzo 8, 2018 &#124; Responder Hola Jorge. Las preguntas serían: – ¿ qué es realmente un plugin QML ?– ¿ necesito unos conocimientos medios de C++ [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/que-es-un-plugin-qml/">Qué es un Plugin QML</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Nuestro buen amigo <strong>Paco Satué</strong> nos deja caer en uno de nuestros <a href="https://tipesoft.com/desarrollar-plugins-qml-para-velneo/">últimos artículos</a> que sería interesante aclarar para toda la comunidad <strong>Velneo</strong> una serie de cuestiones:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<h6 class="wp-block-heading">Paco Satué</h6>



<p><a href="https://tipesoft.com/desarrollar-plugins-qml-para-velneo/#comment-20500">marzo 8, 2018</a> | <a href="https://tipesoft.com/desarrollar-plugins-qml-para-velneo/?replytocom=20500#respond">Responder</a></p>



<p>Hola Jorge.</p>



<p>Las preguntas serían:</p>



<p>– ¿ qué es realmente un plugin QML ?<br>– ¿ necesito unos conocimientos medios de C++ ?<br>– ¿ existen en Internet desarrollos en Qt que sean fácilmente importables a Velneo como plugins ?<br>– ¿ ésta sería una buena forma de extender Velneo y en ese caso, por qué no se hace más a menudo ?</p>



<p>Saludos y gracias por los artículos de excelente nivel.<br>Paco Satué</p>
</blockquote>



<p>Paco tiene razón… y vamos a dársela atendiendo a esta cuestiones y otras que puedan ser necesarias para clarificar que es eso de un plugin QML y como nos afecta a los desarrolladores Velneo.</p>



<h2 class="wp-block-heading">Qué es un plugin QML</h2>



<p>Un <strong>plugin QML</strong> es una posibilidad de <strong>extensibilidad que tiene QML y por ende Velneo</strong>. Nos permite extender su funcionalidad de una forma modular (los módulos son los plugins).</p>



<p>Estos plugins <strong>pueden contener código C/C++, código javascript y código QML</strong>. Se pueden desarrollar combinando las tres tecnologías, haciendo que sea realmente interesante.</p>



<p><strong>Lo habitual es que sea un componente C/C++ con pequeñas partes en QML y javascript.</strong></p>



<p><strong>En caso de requerir solo de capacidades QML y javascript no es necesario desarrollar un plugin c++</strong>, con integrarlo como un componente dentro de nuestro desarrollo QML sería suficiente.</p>



<p>Si nos fijamos uno de ellos, veremos que <strong>la dispone de funcionalidades</strong> desarrolladas de forma mixta (<strong>C/C++, código javascript y código QML</strong>).</p>



<p>Fíjate en el siguiente directorio de tu instalación de Velneo.</p>



<figure class="wp-block-image"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-47.png" rel="lightbox"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-46.png" alt="image" title="image"/></a></figure>



<p>Como puedes observar, el plugin QML QtMultimedia, está formado por una dll (resultado de compilar código c/c++), un fichero QML (Video.qml) y un fichero de configuración (qmldir).</p>



<p>Si abrimos el fichero Video.qml con un editor de texto podemos observar como dentro del mismo hay fragmentos de código JavaScript.</p>



<figure class="wp-block-image"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-48.png" rel="lightbox"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-47.png" alt="image" title="image"/></a></figure>



<p>Observar esta cuestión nos permite vislumbrar en que consiste un plugin QML (técnicamente hablando).</p>



<h3 class="wp-block-heading">Plugins QML en Qt</h3>



<p><strong>Dentro de Qt 5 existen multitud de plugins QML</strong>. Parte de ellos integrados dentro de la plataforma base, otros como extensiones dentro del proyecto Qt y otros de terceros (de código abierto o cerrado).</p>



<p><strong>En caso de ser plugins QML/C++ requerimos compilarlos para cada plataforma</strong>. Esto provoca que sea más complejo técnicamente de lo deseado.</p>



<h3 class="wp-block-heading">Plugins QML en Velneo</h3>



<p>Usarlos dentro de <strong>Velneo</strong> consiste en poco más que <strong>pegarlos en la ubicación correcta</strong> (si ya los tienes compilados) e importarlos dentro de tus <strong>formularios o listas QML</strong> de <strong>Velneo</strong>.</p>



<p><strong>Actualmente podemos extender el vClient y el vDevelop mediante plugins QML.</strong></p>



<p><strong>En el mundo Velneo, no hay ningún soporte para esta capacidad de extender</strong> nuestras herramientas, pero lo cierto es que tampoco es que nos haga demasiada falta.</p>



<h2 class="wp-block-heading">Necesito saber C++ para desarrollar plugins QML</h2>



<p>Sin dudas.</p>



<p>Por desgracia, necesitas algo más que el conocimiento básico:</p>



<ul class="wp-block-list">
<li>Por un lado, <strong>necesitas conocer C y C++</strong> (nivel medio).</li>



<li>Por otro, <strong>necesitas conocer QML y JavaScript</strong> (no es demasiado complejo, pero requiere de cierto esfuerzo). Recuerda que ya hemos escrito algún <a href="https://tipesoft.com/compilar-plugins-qml-para-velneo/">artículo</a> sobre como compilar</li>



<li>Por otro, la <strong>forma de declarar un plugin</strong> (no es demasiado compleja). Tenemos escrito otro&nbsp; <a href="https://tipesoft.com/desarrollar-plugins-qml-para-velneo/">artículo</a> sobre como crear tus plugins, no dudes en leerlo.</li>



<li>Por otro, <strong>necesitas conocer la plataforma Qt en cada sistema operativo</strong>, no es lo mismo compilar en windows, linux o iOS (la verdad es que no es tan simple como puede parecer).</li>



<li>También necesitas conocer herramientas tales como compiladores, enlazadores, JDK, SDK, XCode, CMake, QMake, Git…</li>
</ul>



<p>Vamos… que no está al alcance de todo el mundo.</p>



<h2 class="wp-block-heading">Proyectos Qt que se puedan incorporar como plugins Velneo</h2>



<p>Proyectos Qt hay muchos. Que se puedan integrar de forma directa en Velneo, pocos.</p>



<h3 class="wp-block-heading">Plugins que requieren poco esfuerzo</h3>



<p>En los proyectos Qt/QML que hay, el soporte de la comunidad de desarrollo Qt es medio/bajo. Podríamos empezar por esta lista de recursos disponibles Qt/QML:</p>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://github.com/mikalv/awesome-qt-qml
</div></figure>



<p>En algunos de ellos, solo hay que coger la instrucciones del proyecto, compilarlos para cada plataforma y volcar los binarios adecuadamente. En otros… no es tan simple.</p>



<h3 class="wp-block-heading">Plugins que requieren de esfuerzo medio-alto</h3>



<p>Por otro lado, también hay proyectos, que haciendo un esfuerzo medio/alto se podrían convertir en plugins QML. Tendríamos que ver si funcionalmente son necesarios, estudiar el código fuente, desarrollar las clases que intermedien y por último crear y compilar los plugins. De estos hay muchos más.</p>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://github.com/JesseTG/awesome-qt
</div></figure>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://github.com/skhaz/awesome-qt
</div></figure>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://github.com/fffaraz/awesome-qt
</div></figure>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://github.com/insideqt/awesome-qt
</div></figure>



<h3 class="wp-block-heading">Plugins que requieren de esfuerzo alto</h3>



<p>Y ya puestos… si cogemos C y C++ las posibilidades son infinitas, pero el esfuerzo es mucho mayor.</p>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://github.com/fffaraz/awesome-cpp
</div></figure>



<h2 class="wp-block-heading">Es una buena forma de extender Velneo</h2>



<p>La verdad es que los plugins QML son una poderosa forma de extender Velneo, tal vez la más poderosa. Pero también es cierto, que los esfuerzos necesarios son medio/altos, y eso echa para atrás a muchos desarrolladores de la comunidad Velneo.</p>



<p>Este es el motivo por el que hemos decidido caminar en esta dirección, para ayudaros a abrir camino en esta difícil tarea. Los resultados saltan a la vista:</p>



<ul class="wp-block-list">
<li><a href="https://tipesoft.com/qtrecorder-en-velneo/">QtRecorder en Velneo</a></li>



<li><a href="https://tipesoft.com/qzxing-en-velneo/">QZXing en Velneo</a></li>



<li><a href="https://tipesoft.com/box2d-en-velneo/">Box2D en Velneo</a></li>



<li><a href="https://tipesoft.com/qtav-video-player-para-velneo/">QtAV Video Player para Velneo</a></li>



<li><a href="https://tipesoft.com/qtav-en-velneo/">QtAV en Velneo</a></li>



<li><a href="https://tipesoft.com/qtmultimedia-en-velneo/">QtMultimedia en Velneo</a></li>



<li>…</li>
</ul>



<p>Por nuestra parte seguiremos dando luz sobre esta forma de extensión de Qt… ¿Cuál será el siguiente?</p><p>The post <a href="https://tipesoft.com/que-es-un-plugin-qml/">Qué es un Plugin QML</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/que-es-un-plugin-qml/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>QtRecorder en Velneo</title>
		<link>https://tipesoft.com/qtrecorder-en-velneo/</link>
					<comments>https://tipesoft.com/qtrecorder-en-velneo/#comments</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Wed, 14 Mar 2018 07:14:00 +0000</pubDate>
				<category><![CDATA[Un problema, una solución]]></category>
		<category><![CDATA[Velneo]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[QML]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[QtQuick]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=15632</guid>

					<description><![CDATA[<p>Me he tomado un descanso en los últimos días, los anteriores artículos fueron realmente intensos y necesitaba un relax. El trabajo que supone hacer todo el proceso para añadir un nuevo plugin QML es intenso, y lo cierto es que las dos últimas semanas no hemos parado. Por eso he elegido esta vez, un plugin [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/qtrecorder-en-velneo/">QtRecorder en Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Me he tomado un descanso en los últimos días, los anteriores artículos fueron realmente intensos y necesitaba un relax. El trabajo que supone hacer todo el proceso para <strong>añadir un nuevo plugin QML es intenso</strong>, y lo cierto es que las dos últimas semanas no hemos parado.</p>



<p>Por eso he elegido esta vez, un plugin light. Por lo menos esa era la teoría.</p>



<p><strong>He partido de QML Recorder</strong> (<a title="https://github.com/sverzegnassi/qml-recorder" href="https://github.com/sverzegnassi/qml-recorder">https://github.com/sverzegnassi/qml-recorder</a>)<strong>. </strong></p>



<p>Este plugin QML, esencialmente nos permite grabar audio desde QML en distintos formatos y fuentes.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-42.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-41.png" alt="image" title="image"/></a></figure>



<p>Como a priori parecía muy simple, compilé el plugin e importé los ejemplos a Velneo. El resultado… no funcionaba.</p>



<p>Revisando código, encontré un par de cosas que podían ser las culpables (tratamiento de las rutas y otro detalle menor). Corregidas, compiladas y a funcionar.</p>



<p>Parecía que ya estaba yo contento… hasta que me dio por leer. Terminé leyendo <a title="https://github.com/sverzegnassi/qml-recorder/issues" href="https://github.com/sverzegnassi/qml-recorder/issues">https://github.com/sverzegnassi/qml-recorder/issues</a> y me día cuenta de que era una versión anticuada (no mucho la verdad). Navegando… encontré unas fuentes más actualizadas. Tal vez era más correcto partir de ellas y olvidarnos de las antiguas <a title="https://bazaar.launchpad.net/~verzegnassi-stefano/+junk/recorder-test/files" href="https://bazaar.launchpad.net/~verzegnassi-stefano/+junk/recorder-test/files">https://bazaar.launchpad.net/~verzegnassi-stefano/+junk/recorder-test/files</a>.</p>



<p>Al analizar el código fuente, voy y me encuentro dos problemas .</p>



<h2 class="wp-block-heading">Primer problema</h2>



<p>El código fuente está dividido en dos plugins QML.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-43.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-42.png" alt="image" title="image"/></a></figure>



<p>Vuelta a empezar… no por favor. No quería hacer nada complicado, tengo que leer mucho más sobre de <strong>Angular 5</strong> y <strong>TypeScript</strong>, tengo que revisar el diseño de Arquitectura de otro mega-proyecto, tengo que ofertar un montaje de un CAS, tengo que evitar los rebotes del 4066.</p>



<p>No tengo tiempo para estas cosas…. pufff… dos plugins en vez de uno… pufff…</p>



<p>Pero no lo pude evitar. No quiero que mis compis <strong>Velneadores</strong> tengan que andar con dos librerías para algo tan sencillo como grabar un audio (conceptualmente están mejor separadas, pero para facilitar el uso, considero que mejor juntas).</p>



<p>El resumen… que he creado un plugin QML que contiene los dos y que hace el trabajo correctamente.</p>



<h2 class="wp-block-heading">Segundo problema</h2>



<p>El ejemplo está desarrollado para Ubuntu…. esto no me lo esperaba.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-44.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-43.png" alt="image" title="image"/></a></figure>



<p>A revisar el ejemplo y retocar las cosas que no son compatibles. Y todo esto para un simple botón que graba audio.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-45.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-44.png" alt="image" title="image"/></a></figure>



<h2 class="wp-block-heading">Moralejas</h2>



<p>“No es oro todo lo que reluce”, “No hay mal que por bien no venga”, “Lo barato sale caro”, “El que corre pronto para”… aplicaros el que más os guste. A mi me da, que aplican todos y alguno más en este caso.</p>



<p><strong>QML es dado a la fragmentación</strong> por culpa de los fabricantes (como siempre):</p>



<ul class="wp-block-list">
<li>BB10</li>



<li>Ubuntu</li>



<li>V-Play</li>



<li>Jolla</li>



<li>Nemo</li>



<li>Qt5</li>



<li>…</li>
</ul>



<p>Muchas formas de hacer lo mismo, un sinsentido para un framework tan genial como Qt.</p>



<h2 class="wp-block-heading">Descargas</h2>



<p>Bueno, es hora de publicarlo. Funcionalmente es una librería simple, pero que resuelve una cuestión interesante. Os dejamos disponible todo lo necesario para que podáis disfrutar de ella en Velneo 7.22.1.</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-45f68313">
<div class="kb-button-wrapper kb-button-wrapper-7cfe83fc"><a class="wp-block-kenta-blocks-button kb-button kb-button-7cfe83fc kb-button-right" href="https://tipesoft.com/descarga/15640/"><i class="fas fa-download"></i><span>Descargar código fuente del plugin QML de QRecorder para v7.22.1.<br><br><sub>Este código fuente es de descarga pública.</sub></span></a></div>
</div>



<p>Recuerda que esta librería tendrás que <strong>compilarla para la versión adecuada</strong> de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para <strong>Windows x32 en un descargable</strong>. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo.</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-0395ccaf">
<div class="kb-button-wrapper kb-button-wrapper-6d435364"><a class="wp-block-kenta-blocks-button kb-button kb-button-6d435364 kb-button-right" href="https://tipesoft.com/descarga/15641/"><i class="fas fa-download"></i><span>Descargar Plugin QML para Velneo v7.22.1.<br><br><sub>Este descargable usa Velneo como plataforma. Estas librerías requieren Velneo 7.22.1. x32.</sub> <sub>Requiere estar registrado.</sub></span></a></div>
</div>



<p>También os damos acceso al <strong>VIN de todos los ejemplos</strong> funcinando en Velneo V7</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-3532c167">
<div class="kb-button-wrapper kb-button-wrapper-a567a089"><a class="wp-block-kenta-blocks-button kb-button kb-button-a567a089 kb-button-right" href="https://tipesoft.com/descarga/15643/"><i class="fas fa-download"></i><span>Descargar VIN con los ejemplos de QtRecorder para Velneo v7.22.1.<br><br><sub>Este descargable usa Velneo como plataforma. Estas librerías requieren Velneo 7.22.1. x32.</sub> <sub>Requiere estar registrado.</sub></span></a></div>
</div>



<p>La verdad es que no se cual es el uso que la vais a dar, ya me contareis. Recuerda respetar la <strong>licencia GNU </strong>del mismo.</p>



<h2 class="wp-block-heading">Aún hay más</h2>



<p>Si crees que ya has superado todos los problemas es que aún te queda alguno que superar.</p>



<p>Pues eso, que voy a publicar en WordPress y zasca. Ha dicho que hoy no, tal vez mañana.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image16.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image16_thumb.png" alt="image" title="image"/></a></figure>



<p>Un abrazo… y espero que tengáis un camino más sencillo con las pruebas de este plugin.</p><p>The post <a href="https://tipesoft.com/qtrecorder-en-velneo/">QtRecorder en Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/qtrecorder-en-velneo/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>QZXing en Velneo</title>
		<link>https://tipesoft.com/qzxing-en-velneo/</link>
					<comments>https://tipesoft.com/qzxing-en-velneo/#comments</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Wed, 07 Mar 2018 09:38:55 +0000</pubDate>
				<category><![CDATA[Un problema, una solución]]></category>
		<category><![CDATA[Velneo]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[QML]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[QtQuick]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=15608</guid>

					<description><![CDATA[<p>Esta vez nos enfocamos en una buena librería de uso empresarial. Sin duda aportará gran valor en la comunidad Velneo. QZXing es una librería intermediaria entre ZXing y Qt. ZXing, abreviatura de (&#8220;Zebra Crossing&#8221;), es una librería de procesamiento de imágenes que permite leer y generar códigos de barras 1D y 2D. Es especialmente buena [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/qzxing-en-velneo/">QZXing en Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Esta vez nos enfocamos en una buena <strong>librería de uso empresarial</strong>. Sin duda aportará gran valor en la comunidad <strong>Velneo</strong>.</p>



<p><strong>QZXing</strong> es una librería intermediaria entre <a href="https://github.com/zxing/zxing"><strong>ZXing</strong></a> y <strong>Qt</strong>. <a href="https://github.com/zxing/zxing"><strong>ZXing</strong></a>, abreviatura de (&#8220;Zebra Crossing&#8221;), es una librería de <strong>procesamiento de imágenes</strong> que permite <strong>leer y generar códigos de barras</strong> 1D y 2D. Es especialmente buena en el proceso de decodificación, no tanto en la codificación. <a href="https://github.com/zxing/zxing"><strong>ZXing</strong></a> dispone de soporte para <strong>c++,</strong> <strong>Java</strong> y <strong>Android</strong> <a title="https://github.com/zxing/zxing" href="https://github.com/zxing/zxing">https://github.com/zxing/zxing</a>.</p>



<p>Su licencia es Apache 2.0. <a title="https://github.com/zxing/zxing/blob/master/LICENSE" href="https://github.com/zxing/zxing/blob/master/LICENSE">https://github.com/zxing/zxing/blob/master/LICENSE</a></p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-35.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-34.png" alt="image" title="image"/></a></figure>



<p>Significa que es permisiva, pero tiene que mantener las marcas de uso. También recordaros que <strong>QR code</strong> está licenciado por <strong>Denso Wave, inc.</strong></p>



<p>Por otro lado, <strong>QZXing</strong> es la librería intermediara entre <strong>Qt</strong> y <strong>ZXing</strong>, convirtiéndose en la librería más importante en codificación/decodificación de códigos de barras en <strong>Qt</strong> <a title="https://github.com/ftylitak/qzxing" href="https://github.com/ftylitak/qzxing">https://github.com/ftylitak/qzxing</a>. Su licencia también es <strong>Apache 2.0</strong> <a title="https://github.com/ftylitak/qzxing/blob/master/LICENSE" href="https://github.com/ftylitak/qzxing/blob/master/LICENSE">https://github.com/ftylitak/qzxing/blob/master/LICENSE</a>.</p>



<p><strong>QZXing</strong>, en teoría, dispone de soporte para QML (<a title="https://github.com/ftylitak/qzxing" href="https://github.com/ftylitak/qzxing">https://github.com/ftylitak/qzxing</a>), pero lo cierto es que <strong>hemos tenido que desarrollar un plugin</strong> para que funcione correctamente en <strong>Velneo</strong>. El código fuente del plugin lo podrás encontrar al final del artículo, dentro del fichero comprimido del código fuente, en la carpeta <strong>QZXing-master\examples\QMLZXing</strong>. De momento solo la hemos probado sobre Win32, por lo que desconocemos como se comportará sobre otras plataformas.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-36.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-35.png" alt="image" title="image"/></a></figure>



<p><strong>QZXing </strong>soporta <strong>decodificación de códigos</strong> de barra de los siguientes tipos:</p>



<ul class="wp-block-list">
<li><strong>UPC-A</strong></li>



<li><strong>UPC-E</strong></li>



<li><strong>EAN-8</strong></li>



<li><strong>EAN-13</strong></li>



<li>ITF</li>



<li><strong>Code 39</strong></li>



<li><strong>Code 93</strong></li>



<li><strong>Code 128</strong> (GS1)</li>



<li>Codabar</li>



<li><strong>QR Code</strong></li>



<li>Data Matrix</li>



<li>Aztec (beta)</li>



<li>PDF 417</li>
</ul>



<p>También soporta codificación de tipo:</p>



<ul class="wp-block-list">
<li>QR Code</li>
</ul>



<p>Véase el siguiente <strong>ejemplo de como usar el decodificador</strong> desde QML:</p>



<pre class="wp-block-preformatted"><span style="font-size: medium;"><span style="font-size: small;">import QZXing 2.3

function decode(preview) {
	imageToDecode.source = preview
	<strong>decoder.decodeImageQML(imageToDecode);</strong>
}

Image {
	id:imageToDecode
}

QZXing{
	id: decoder
	enabledDecoders: <strong>QZXing.DecoderFormat_QR_CODE</strong>
	onDecodingStarted: console.log("Decoding of image started...")
	onTagFound: console.log("Barcode data: " + tag)
	onDecodingFinished: console.log("Decoding finished " + (succeeded==true ? "successfully" : "unsuccessfully"))</span>
}</span></pre>



<p>Para la codificación de un código Qr usamos un proveedor de imágenes que se registra al iniciar le plugin. Véase el siguiente <strong>ejemplo de como usar el codificador</strong> de códigos Qr desde QML:</p>



<pre class="wp-block-preformatted"><span style="font-size: small;">import QZXing 2.3

TextField {
	id: inputField
	text: "Hello world!"
}

Image{
	source: "image://QZXing/encode/" + inputField.text;
	cache: false;
}</span></pre>



<p>Como podéis apreciar es <strong>relativamente sencillo de usar</strong>. Pero no os engañéis, es <strong>realmente poderoso</strong>.</p>



<h2 class="wp-block-heading">Ejemplos de uso de QZXing en Velneo</h2>



<p>En la zona de descargas, podrás encontrar un fichero VIN con cuatro los ejemplos funcionales. Trabajo ha costado conseguir que todos ellos funcionen correctamente, algunos de ellos los hemos tenido que revisar y corregir de forma profunda ya que no eran funcionales en primera instancia.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-37.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-36.png" alt="image" title="image"/></a></figure>



<p>Lector de códigos desde imágenes con soporte Drag N Drop. Permite leer las imágenes mediante Drag N Drop dentro de velneo y obtener el Tag que se encuentre en ellas. Soporta todos los Decorders que veis en la captura.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-38.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-37.png" alt="image" title="image"/></a></figure>



<p>Lector en vivo de etiquetas Qr. Es una implementación que permite leer códigos Qr en vivo. Acerca uno a tu webcam y verás como funciona.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-39.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-38.png" alt="image" title="image"/></a></figure>



<p>Codificación de códigos Qr. Como podéis apreciar, es relativamente sencillo, el problema es que solo soporta códigos Qr.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-40.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-39.png" alt="image" title="image"/></a></figure>



<p>Lector de códigos bajo demanda. Poco que decir… acercas el código a leer, pulsas en Decode y obtendrás un cuadro de dialogo con el código leído.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-41.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-40.png" alt="image" title="image"/></a></figure>



<h2 class="wp-block-heading">Descargas</h2>



<p>Como podéis apreciar, funcionalmente es una gran librería. Os dejamos disponible todo lo necesario para que podáis disfrutar de ella en Velneo 7.22.1.</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-45f68313">
<div class="kb-button-wrapper kb-button-wrapper-7cfe83fc"><a class="wp-block-kenta-blocks-button kb-button kb-button-7cfe83fc kb-button-right" href="https://tipesoft.com/descarga/15618/"><i class="fas fa-download"></i><span>Descargar código fuente del plugin QML de QZXing para v7.22.1.<br><br><sub>Este código fuente es de descarga pública.</sub></span></a></div>
</div>



<p>Recuerda que esta librería tendrás que <strong>compilarla para la versión adecuada</strong> de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para <strong>Windows x32 en un descargable</strong>. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo.</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-6c207f2c">
<div class="kb-button-wrapper kb-button-wrapper-c4cfc439"><a class="wp-block-kenta-blocks-button kb-button kb-button-c4cfc439 kb-button-right" href="https://tipesoft.com/descarga/15616/"><i class="fas fa-download"></i><span>Descargar código fuente del plugin QML de QZXing para v7.22.1.<br><br><sub>Este descargable usa Velneo como plataforma. Estas librerías requieren Velneo 7.22.1. x32. Requiere estar registrado.</sub></span></a></div>
</div>



<p>También os damos acceso al <strong>VIN de todos los ejemplos</strong> funcinando en Velneo V7</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-8e7d083f">
<div class="kb-button-wrapper kb-button-wrapper-f88b178f"><a class="wp-block-kenta-blocks-button kb-button kb-button-f88b178f kb-button-right" href="https://tipesoft.com/descarga/15612/"><i class="fas fa-download"></i><span>Descargar VIN con los ejemplos de QZXing para Velneo v7.22.1 x32.<br><br><sub>Este descargable usa Velneo como plataforma. Estos ejemplos requieren Velneo 7.22.1. x32. Requiere estar registrado</sub></span></a></div>
</div>



<p>Con un poquito de trabajo podrás integrarla en tus desarrollos para conseguir grandes mejoras en tus aplicaciones Velneo. Pero, ante todo, no se te olvide respetar la licencia Apache 2.0.</p><p>The post <a href="https://tipesoft.com/qzxing-en-velneo/">QZXing en Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/qzxing-en-velneo/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Desarrollar plugins QML para Velneo</title>
		<link>https://tipesoft.com/desarrollar-plugins-qml-para-velneo/</link>
					<comments>https://tipesoft.com/desarrollar-plugins-qml-para-velneo/#comments</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Fri, 02 Mar 2018 11:05:25 +0000</pubDate>
				<category><![CDATA[Un problema, una solución]]></category>
		<category><![CDATA[Velneo]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[QML]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[QtQuick]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=15585</guid>

					<description><![CDATA[<p>En el anterior artículo, instalamos todo lo necesario para empezar a desarrollar complementos QML para Velneo sobre Windows x32 y x64. Hoy toca probar el entorno y desarrollar un primer complemento. Hello World QML Antes de aventurarnos con Qt5 es recomendable probar nuestro entorno. Para ello desarrollaremos un hola mundo con QML, de esta forma [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/desarrollar-plugins-qml-para-velneo/">Desarrollar plugins QML para Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>En el <a href="https://tipesoft.com/compilar-plugins-qml-para-velneo/">anterior artículo</a>, instalamos todo lo necesario para empezar a desarrollar complementos <strong>QML para Velneo sobre Windows x32 y x64</strong>.</p>



<p>Hoy toca probar el entorno y desarrollar un primer complemento.</p>



<h2 class="wp-block-heading">Hello World QML</h2>



<p>Antes de aventurarnos con <strong>Qt5</strong> es recomendable probar nuestro entorno.</p>



<p>Para ello desarrollaremos un <strong>hola mundo con QML</strong>, de esta forma garantizaremos que todo está en su sitio.</p>



<p>Dentro del QtCreator pulsamos en <strong>File</strong> &gt; <strong>New Project</strong></p>



<p>Seleccionamos <strong>Qt Quick Application – Empty</strong></p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-8.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-7.png" alt="image" title="image"/></a></figure>



<p>Establecemos el <strong>nombre del proyecto y la ubicación</strong>.</p>



<p>Recomiendo una <strong>ruta corta</strong> para la ubicación de los proyectos (en mi caso uso C:\Qt\Proyectos\). Establécela como la por defecto.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-9.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-8.png" alt="image" title="image"/></a></figure>



<p>Definimos la <strong>herramienta para generar las compilaciones</strong> (<strong>qmake</strong> por compatibilidad).</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-10.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-9.png" alt="image" title="image"/></a></figure>



<p>Establecemos la<strong> versión de Qt </strong>(no todos los tipos de plantillas permiten 5.6.X).</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-11.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-10.png" alt="image" title="image"/></a></figure>



<p>Seleccionamos el Kit <strong>Desktop Qt 5.6.2 MSVC2016 32bit o 64bit </strong>(según corresponda)<a href="https://tipesoft.com/wp-content/uploads/2018/03/image-12.png"><img decoding="async" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="image" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-11.png" alt="image" width="624" height="415" border="0"></a></p>



<p>Y pulsamos en <strong>Finish</strong></p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-12.png" alt="image" title="image"/></figure>



<p><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-13.png"><strong></strong></a></p>



<h3 class="wp-block-heading">Debug</h3>



<p>Para ejecutar en modo Debug sin depuración pulsamos en el botón <strong>Play (no lanza el depurador, solo ejecuta)</strong></p>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-13.png" alt="image" title="image"/></figure>



<p>Si ya somos capaces de ejecutar nuestra App es que tenemos el compilador en su sitio.<strong><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-14.png"></a></strong></p>



<p><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-15.png"><img decoding="async" title="image" width="624" height="278" border="0" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-14.png" alt="image"></a></p>



<p>Para ejecutar en modo <strong>Debug</strong> con depuración pulsamos en el botón <strong>Play con cucaracha (lanza el depurador y ejecuta). </strong>Un depurador de los de verdad, aunque lo cierto es que los he visto mejores (también peores).</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-16.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-15.png" alt="image" title="image"/></a></figure>



<p>Si lanza el depurador correctamente, ya lo tenemos todo, nos podemos aventurar en algo más complejo.</p>



<h3 class="wp-block-heading">Release</h3>



<p>Para compilar la versión final (la que vamos a desplegar en Velneo) cambiamos el modo a <strong>Release.</strong></p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-17.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-16.png" alt="image" title="image"/></a></figure>



<p>Para compilar, depurar o ejecutar disponemos del menú <strong>Build.</strong></p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-18.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-17.png" alt="image" title="image"/></a></figure>



<h2 class="wp-block-heading">Desarrollando nuestro primer plugin QML</h2>



<p>Lo básico ya lo tenemos claro, entorno, compilador y depurador. Ahora toca empezar con la parte dura del asunto, desarrollar un <strong>plugin c++/qml</strong>. Pero antes de empezar toca aprender un poco, toca leer al respecto <a title="http://doc.qt.io/qt-5/qtqml-modules-cppplugins.html" href="http://doc.qt.io/qt-5/qtqml-modules-cppplugins.html">http://doc.qt.io/qt-5/qtqml-modules-cppplugins.html</a></p>



<p><strong>Un plugin QML es una librería que contiene una clase que hereda de </strong><a href="http://doc.qt.io/qt-5/qqmlextensionplugin.html"><strong>QQmlExtensionPlugin</strong></a><strong>. QtCreator</strong> dispone de una <strong>plantilla</strong> para crear extensiones (Qt Quick 2 Extension Plugin), por lo que no nos tenemos que enredar demasiado, deja que <strong>QtCreator</strong> te ayude.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-19.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-18.png" alt="image" title="image"/></a></figure>



<p>Le damos nombre a nuestro Plugin. Este nombre se usará como <strong>nombre del archivo</strong> de nuestra librería y como <strong>nombre de plugin</strong>.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-20.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-19.png" alt="image" title="image"/></a></figure>



<p>Creamos una clase que contendrá el <strong>elemento QML que usaremos desde Velneo</strong>. También tenemos que definir la <strong>URI de los componentes</strong>. Esta URI se usará como <strong>ruta de los ficheros</strong> y como <strong>nombre del módulo</strong>.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-21.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-20.png" alt="image" title="image"/></a></figure>



<p>Finalizamos el asistente y obtenemos el código de nuestro plugin en base a la plantilla. Observa que la clase de nuestro plugin hereda de <a href="http://doc.qt.io/qt-5/qqmlextensionplugin.html"><strong>QQmlExtensionPlugin</strong></a>. Fíjate en la función <strong>registerTypes().</strong> Esta función se encarga de registrar los tipos disponibles en nuestro plugin. Date cuenta de que usa la URI que hemos fijado en el asistente.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-22.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-21.png" alt="image" title="image"/></a></figure>



<p>En la implementación de la función <strong>registerTypes()</strong> puedes apreciar como se llama a <strong>qmlRegisterType</strong> que es la encargada de registrar el tipo de elemento dentro de la ejecución del plugin. En nuestro caso MyHelloWorldItem.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-23.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-22.png" alt="image" title="image"/></a></figure>



<p>La clase MyHelloWorldItem, es la que contendrá el código de la implementación de nuestro primer componente. Evidentemente, implementaremos algo muy simple, para entender como encajan todas las piezas.</p>



<p>La clase MyHelloWorldItem hereda de <strong>QQuickItem</strong> (elemento más básico de <strong>QtQuick</strong>).</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-24.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-23.png" alt="image" title="image"/></a></figure>



<p>Como veis en la propia documentación del código, <strong>QtQuickItem</strong> no pinta nada. Si quieres que pinte algo, pues toca implementarlo (puede que lo que quieras es hacer algo en C++ en segundo plano, por ejemplo montar un complemento para guardar ficheros en el disco).</p>



<p>Como os podéis imaginar. podemos implementar desde esta clase base o desde una especializada (que herede de ella). Por por poner un ejemplo, si queremos pintar algo en pantalla, podemos partir desde la clase <strong>QQuickPaintedItem</strong></p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-25.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-24.png" alt="image" title="image"/></a></figure>



<p>Para el ejemplo, vamos a pintar un rectángulo cuadrado de un cierto color. Algo sencillo que todos podamos entender.</p>



<p>La clase <strong>QQuickPaintedItem </strong>dispone de un método <strong>paint</strong>() que permite pintar elementos. Si queremos pintar un rectángulo, <strong>drawRect</strong>() nos valdrá.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-26.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-25.png" alt="image" title="image"/></a></figure>



<p>Como veis, fijamos el color mediante la función <strong>setPen</strong>, y lo leemos desde una variable privada llamada m_color.</p>



<p>Si queremos que esta variable pueda ser establecida desde Velneo, tenemos que definir una variable publica llamada color e implementar los métodos Get y Set</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-27.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-26.png" alt="image" title="image"/></a></figure>



<p>Y establecer el comportamiento en el fichero.h de cabeceras de la clase. El fichero de cabeceras quedará tal que así:</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-28.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-27.png" alt="image" title="image"/></a></figure>



<p>A observar… la definición de la señal de control del cambio de color, la variable pública y el método <strong>setter</strong>. Por último el como establecemos una <strong>Q_PROPERTY</strong> que se pueda invocar desde QML para que sea capaz de leer y escribir en el color.</p>



<p>Ya tenemos nuestro ejemplo. Ahora toca compilar en modo <strong>Release</strong>.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-29.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-28.png" alt="image" title="image"/></a></figure>



<p>Y ya tenemos nuestra DLL. La copiamos a la ruta de Velneo… pero no va sola (la acompaña del fichero <strong>qmldir</strong> con la definición del plugin y del módulo).</p>



<p>Es importante darse cuenta de que la <strong>uri</strong> establecida <strong>condiciona la carpeta</strong> donde tenemos que ubicarla. No podemos dejarla tirada en cualquier sitio. Si la uri es “com.tipesoft.qmlcomponents”, tendremos que crear una estructura de carpetas tal que “com/tipesoft/qmlcomponents” donde dejar nuestra dll y nuestro fichero <strong>qmldir</strong></p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-30.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-29.png" alt="image" title="image"/></a></figure>



<p>El fichero <strong>qmldir</strong> lo podemos copiar desde C:\Qt\Proyectos\HelloWorldPlugin (lo creó en base a la plantilla).</p>



<p><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-31.png" title=""><img loading="lazy" decoding="async" title="image" width="310" height="87" border="0" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-30.png" alt="image"></a>Ahora ya podemos implementar en Velneo lo necesario para cargar nuestro plugin.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-32.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-31.png" alt="image" title="image"/></a></figure>



<p>Fíjate en el <strong>import</strong> (en base a la uri) y en el nombre del elemento QML (MyHelloWorldItem)</p>



<p>Si no establecemos ningún color… resulta en negro.</p>



<p><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-33.png"><img loading="lazy" decoding="async" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="image" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-32.png" alt="image" width="624" height="430" border="0"></a>Si lo fijamos a “red”</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-34.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-33.png" alt="image" title="image"/></a></figure>



<p>Bueno… parece que ya lo tenemos. Sencillo no es, cierto. Pero estructuralmente son todos iguales.</p>



<p>Os dejamos todo el código necesario descargable desde el siguiente enlace.</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-45f68313">
<div class="kb-button-wrapper kb-button-wrapper-7cfe83fc"><a class="wp-block-kenta-blocks-button kb-button kb-button-7cfe83fc kb-button-right" href="https://tipesoft.com/descarga/15564/"><i class="fas fa-download"></i><span>Descargar ejemplos Plugin QML para Velneo v7.22.1.<br><br><sub>Estos ejemplos usan Velneo como plataforma. Estas librerías requieren Velneo 7.22.1. x32. Requiere estar registrado.</sub></span></a></div>
</div>



<h3 class="wp-block-heading">Ahora os toca a vosotros</h3>



<p>Por nuestro lado, seguiremos aportando nuevos artículos de librerías “open source” que aporten gran valor a Velneo. Si os fijáis en las capturas, tal vez apreciéis cual es la siguiente de la lista.</p><p>The post <a href="https://tipesoft.com/desarrollar-plugins-qml-para-velneo/">Desarrollar plugins QML para Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/desarrollar-plugins-qml-para-velneo/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
		<item>
		<title>Compilar plugins QML para Velneo</title>
		<link>https://tipesoft.com/compilar-plugins-qml-para-velneo/</link>
					<comments>https://tipesoft.com/compilar-plugins-qml-para-velneo/#comments</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Thu, 01 Mar 2018 16:30:49 +0000</pubDate>
				<category><![CDATA[Un problema, una solución]]></category>
		<category><![CDATA[Velneo]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[QML]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[QtQuick]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=15519</guid>

					<description><![CDATA[<p>La tarea de compilar plugins QML para Velneo, es fundamentalmente, un proceso simple, pero donde el entorno tecnológico y el conocimiento de base son fundamentales. Intentaremos ayudaros en ambas cuestiones en los siguientes artículos. Preparación del entorno El primer paso, y tal vez el más pesado, es la preparación del entorno para compilar las librerías [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/compilar-plugins-qml-para-velneo/">Compilar plugins QML para Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>La tarea de compilar plugins QML para Velneo, es fundamentalmente, un proceso simple, pero donde el entorno tecnológico y el conocimiento de base son fundamentales. Intentaremos ayudaros en ambas cuestiones en los siguientes artículos.</p>



<h2 class="wp-block-heading">Preparación del entorno</h2>



<p>El primer paso, y tal vez el más pesado, es la preparación del entorno para compilar las librerías de forma adecuada (para hacerlo compatible con nuestra versión de Velneo).</p>



<p>Para saber que versión estamos usando de las librerías Qt, podemos abrir el cuadro “acerca de” de cualquiera de los productos Velneo. En este cuadro se nos informa de la versión de Velneo, Sistema operativo, <strong>arquitectura</strong> y <strong>versión de Qt.</strong></p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-1.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb.png" alt="image" title="image"/></a></figure>



<p><strong>En la versión v7.22.1 se usa la versión de 5.6.2 de Qt.</strong></p>



<p>Por otro lado necesitamos saber <strong>que compilador usa Velneo para esa versión</strong>. Como no lo sabemos, tenemos que suponérnoslo. En mi caso he supuesto que compilan con Visual Studio 2013. Con estos primeros dos datos, ya podemos empezar.</p>



<p>Resumiendo (en el escenario windows):</p>



<ul class="wp-block-list">
<li>Plataforma: <strong>Windows</strong></li>



<li>Arquitecturas: <strong>x32</strong> y x64</li>



<li>Compilador: <strong>Visual Studio 2013</strong></li>



<li>Versión de Qt: <strong>5.6.2</strong></li>
</ul>



<h3 class="wp-block-heading">Instalar el compilador</h3>



<p>Identificada la versión de <strong>Qt</strong> y el entorno requerido <strong>procedemos a instalar el compilador compatible</strong> con nuestro entorno.</p>



<p>Por cuestiones de mi trabajo, habitualmente en mis máquinas, están disponibles todos los editores y <strong>compiladores de Microsoft</strong>. Si en tu caso no dispones de ellos, solo tienes que descargarlos e instalarlos.</p>



<p>Tenéis <strong>dos opciones</strong> para ello:</p>



<ul class="wp-block-list">
<li><strong><strong>Instalar Visual Studio 2013 Community &#8211; Update 5 (<span style="color: #ff0000;">opción recomendada</span>)</strong></strong>Podemos instalar una <strong>versión gratuita de Visual Studio</strong>, que Microsoft nos facilita para empresas de pequeño tamaño, desde <a title="https://www.visualstudio.com/es/vs/older-downloads/" href="https://www.visualstudio.com/es/vs/older-downloads/">https://www.visualstudio.com/es/vs/older-downloads/</a>. En el proceso de instalación se requieren unos 10Gb de espacio para los componentes habituales.</li>
</ul>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-2.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-1.png" alt="image" title="image"/></a></figure>



<ul class="wp-block-list">
<li><strong>Instalar las Build Tools<br></strong><br>Si crees que Visual Studio 2013 es demasiado para tu equipo, hay una segunda opción, instalar las <strong>Build Tools </strong><a title="https://www.microsoft.com/es-es/download/details.aspx?id=40760" href="https://www.microsoft.com/es-es/download/details.aspx?id=40760">https://www.microsoft.com/es-es/download/details.aspx?id=40760</a> de forma independiente.</li>
</ul>



<p>Cualquiera de los dos procedimientos de instalación nos instala el comando <strong>cl.exe</strong> (compilador de nuestro código C++)</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-3.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-2.png" alt="image" title="image"/></a></figure>



<h3 class="wp-block-heading">Instalar las herramientas de depuración</h3>



<p>Lo segundo es instalar las herramientas de depuración. Curiosamente, estas herramientas no vienen incluidas en Visual Studio Community ni en las build tools.</p>



<p>Tenéis <strong>tres opciones</strong> para instalarlas:</p>



<ul class="wp-block-list">
<li><strong>Mediante las WDK:&nbsp;</strong>Las herramientas de depuración están incluidas dentro de las WDK. Puedes descargarlas desde el siguiente enlace <a title="https://docs.microsoft.com/es-es/windows-hardware/drivers/download-the-wdk" href="https://docs.microsoft.com/es-es/windows-hardware/drivers/download-the-wdk">https://docs.microsoft.com/es-es/windows-hardware/drivers/download-the-wdk</a></li>



<li><strong>Como un paquete independiente (<span style="color: #ff0000;">opción recomendada</span>):&nbsp;</strong>Puedes instalar solo las herramientas de depuración mediante el instalador de las SDK. <strong>Selecciona solo las Herramientas de depuración</strong> (<strong>Debugging Tools for Windows</strong> box) en el asistente de instalación de las SDK para windows (desmarcando todas las demás opciones). Descárgalo desde <a title="https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk" href="https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk">https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk</a></li>



<li><strong>Como parte de las Windows SDK:&nbsp;</strong>Instala de forma completa Windows Software Development Kit (SDK). Las herramiendas de depuración están incluidas dentro de las SDK. Puedes descargarlas desde <a title="https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk" href="https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk">https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk</a></li>
</ul>



<h3 class="wp-block-heading">Instalar Qt 5.6.2</h3>



<p>Ahora nos toca el tercer paso. Instalar Qt en su versión “open source”. Descargamos desde <a title="https://www.qt.io/download" href="https://www.qt.io/download">https://www.qt.io/download</a> pulsando en “Go to open source”</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-4.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-3.png" alt="image" title="image"/></a></figure>



<p>Aceptamos la licencia L(GPL) que nos obliga a que nuestro código sea abierto y por último descargamos el instalador. <a title="http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe" href="http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe">http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe</a></p>



<p>Abrimos el instalador… siguiente, siguiente… paciencia… le decimos la ruta de instalación… hasta que nos pida los componentes a instalar:</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-5.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-4.png" alt="image" title="image"/></a></figure>



<p><strong>Marcamos Qt 5.6</strong> (equivale a la rama 5.6.2) para <strong>msvc2013</strong> en&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x32 y si lo deseas en x64</p>



<p>También puedes marcar aquellos plugins QML que deseas incluir en tu instalación (además de los por defecto que ya incluye el instalador de la versión elegida). Los marcados como TP son en fase beta. Los marcados como Deprecated desaparecerán en Qt 6.x</p>



<p>Si para más adelante… deseas compilar y depurar sobre Android necesitas marcar un par de cositas más. El compilador MiniGW y el soporte CDB para el depurador.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-6.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-5.png" alt="image" title="image"/></a></figure>



<p>Marcado todo lo necesario… procedemos con la instalación.</p>



<h3 class="wp-block-heading">Arrancamos QtCreator</h3>



<p>Cuando tengamos instalado <strong>Qt</strong>, procedemos a arrancar <strong>QtCreator</strong>.</p>



<p>Para comprobar que todo ha ido bien, tenemos que entrar en <strong>Tools &gt; Options. </strong></p>



<p>Dentro de la sección <strong>Build &amp; Run</strong> veremos los <strong>Kits</strong> que están configurados… en vuestro caso Desktop Qt <strong>5.6.2 MSVC2013 32bit</strong> y <strong>64bit</strong>.</p>



<ul class="wp-block-list">
<li>Si aparecen en rojo o no aparecen… malo, no ha detectado los compiladores.</li>



<li>Si aparece en amarillo… malo, puede que no haya detectado las herramientas de depuración.</li>



<li>Si todo está perfecto, ya tienes el entorno preparado para compilar bajo Windows</li>
</ul>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-7.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/03/image_thumb-6.png" alt="image" title="image"/></a></figure>



<p>Para el siguiente artículo, si creéis que es necesario, os cuento como desarrollar un plugin QML para Velneo (comentar en este artículo si consideráis para que así me anime a ello).</p>



<p><a href="https://tipesoft.com/wp-content/uploads/2018/03/image-1.png">&nbsp;</a></p><p>The post <a href="https://tipesoft.com/compilar-plugins-qml-para-velneo/">Compilar plugins QML para Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/compilar-plugins-qml-para-velneo/feed/</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
			</item>
		<item>
		<title>Box2D en Velneo</title>
		<link>https://tipesoft.com/box2d-en-velneo/</link>
					<comments>https://tipesoft.com/box2d-en-velneo/#comments</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Fri, 23 Feb 2018 17:30:59 +0000</pubDate>
				<category><![CDATA[Un problema, una solución]]></category>
		<category><![CDATA[Velneo]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[QML]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[QtQuick]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=15492</guid>

					<description><![CDATA[<p>Otra librería que aporta valor a la comunidad Qt es Box2D. ¿Qué es Box2D? Es un motor de física 2D (para video juegos entre otras cosas). Box2D ha sido desarrollado por Erin Catto, bajo la licencia zlib. Si bien la licencia zlib no requiere acuse de recibo, informamos públicamente del creador para que conste. Para [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/box2d-en-velneo/">Box2D en Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Otra librería que aporta valor a la comunidad <strong>Qt</strong> es <strong>Box2D</strong>.</p>



<h2 class="wp-block-heading">¿Qué es Box2D?</h2>



<p>Es un motor de física 2D (para video juegos entre otras cosas). <strong>Box2D</strong> ha sido desarrollado por <strong>Erin Catto</strong>, bajo la licencia <strong>zlib</strong>. Si bien la licencia zlib no requiere acuse de recibo, informamos públicamente del creador para que conste.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-20.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-20.png" alt="image" title="image"/></a></figure>



<p>Para más información visita <a href="http://www.box2d.org">http://www.box2d.org</a>, <a title="http://box2d.org/downloads/" href="http://box2d.org/downloads/">http://box2d.org/downloads/</a> y <a title="https://github.com/erincatto/Box2D" href="https://github.com/erincatto/Box2D">https://github.com/erincatto/Box2D</a></p>



<p>Entendido… pero a priori este motor de física 2D no está soportado en Velneo V7.</p>



<h2 class="wp-block-heading">QML Box2D plugin</h2>



<p>Como os podéis imaginar, <strong>Box2D</strong> no lo podemos integrar directamente con Velneo. Pero desde que tenemos <strong>QML</strong> hay solución para casi cualquier integración con C++.</p>



<p>Para este casos necesitamos un plugin QML… tal como este <a title="https://github.com/qml-box2d/qml-box2d" href="https://github.com/qml-box2d/qml-box2d">https://github.com/qml-box2d/qml-box2d</a>. El objetivo de este complemento <strong>qml-box2d</strong> es exponer la funcionalidad de <strong>Box2D</strong> (C++) como un complemento <strong>QML</strong> para facilitar el desarrollo de software basado en física 2D sobre <strong>QML</strong>.</p>



<p>Pues parece que si es posible soportarlo en Velneo, mediante un plugin <strong>QML</strong>, de licencia abierta, incluso para uso comercial <a title="https://github.com/qml-box2d/qml-box2d/blob/master/COPYING" href="https://github.com/qml-box2d/qml-box2d/blob/master/COPYING">https://github.com/qml-box2d/qml-box2d/blob/master/COPYING</a></p>



<p>¿Nos ponemos manos a la obra? Venga va…&nbsp; veamos si somos capaces de conseguir hacerlo 100% funcional. 20 minutos después…</p>



<p>Cañón:</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-21.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-21.png" alt="image" title="image"/></a></figure>



<p>y unos pocos remates…</p>



<p>Modo debug:</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-23.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-22.png" alt="image" title="image"/></a></figure>



<p>Demolición:</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-24.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-23.png" alt="image" title="image"/></a></figure>



<p>Cuerda de la ropa:</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-25.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-24.png" alt="image" title="image"/></a></figure>



<p>Test con elementos fijos:</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-26.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-25.png" alt="image" title="image"/></a></figure>



<p>Esfuerzo de torsión:</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-27.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-26.png" alt="image" title="image"/></a></figure>



<p>Unión de elementos:</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-28.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-27.png" alt="image" title="image"/></a></figure>



<p>Pues parece que funciona correctamente. Bienvenido sea entonces.</p>



<h2 class="wp-block-heading">Descargas</h2>



<p>Un gran motor 2D para que lo puedas disfrutar o integrar en tus desarrollos de código abierto Velneo:</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-45f68313">
<div class="kb-button-wrapper kb-button-wrapper-7cfe83fc"><a class="wp-block-kenta-blocks-button kb-button kb-button-7cfe83fc kb-button-right" href="https://tipesoft.com/descarga/15497/"><i class="fas fa-download"></i><span>Descargar Box2D para v7.22.1 x64.<br><br><sub>Este producto usa Velneo como plataforma. Requiere Velneo 7.22.1. Requiere estar registrado.</sub></span></a></div>
</div>



<p>Recuerda que este motor usa las librerías de Box2D por lo que tendrás que compilarlas para la versión adecuada de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para Windows x32 en un descargable. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo.</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-8451d105">
<div class="kb-button-wrapper kb-button-wrapper-1f8b2419"><a class="wp-block-kenta-blocks-button kb-button kb-button-1f8b2419 kb-button-right" href="https://tipesoft.com/descarga/15499/"><i class="fas fa-download"></i><span>Descargar Box2D para v7.22.1 x32.<br><br><sub>Estos ejemplos usan Velneo como plataforma. Estas librerías requieren Velneo 7.22.1. x32. Requiere estar registrado.</sub></span></a></div>
</div>



<p>Ya tienes una nueva herramienta. ¿Te animas a realizar el primer videojuego en Velneo? o tal vez encuentres un lugar más adecuado en tus desarrollos para este complemento.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Box2D 4-stroke combustion engine" width="500" height="281" src="https://www.youtube.com/embed/8kZRpouZ3OQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure><p>The post <a href="https://tipesoft.com/box2d-en-velneo/">Box2D en Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/box2d-en-velneo/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>QtAV Video Player para Velneo</title>
		<link>https://tipesoft.com/qtav-video-player-para-velneo/</link>
					<comments>https://tipesoft.com/qtav-video-player-para-velneo/#comments</comments>
		
		<dc:creator><![CDATA[Jorge Hontoria Jimenez]]></dc:creator>
		<pubDate>Mon, 19 Feb 2018 08:02:28 +0000</pubDate>
				<category><![CDATA[Un problema, una solución]]></category>
		<category><![CDATA[Velneo]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[QML]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[QtQuick]]></category>
		<guid isPermaLink="false">https://tipesoft.com/?p=15460</guid>

					<description><![CDATA[<p>Como os anunciamos en el último artículo, hemos empaquetado y preparado una solución Velneo en base al reproductor QtAV de Qt. La versión empaquetada es la 1.11.0 de QtAV, ya que la 1.12.0 adolece de ciertos problemas de compatibilidad con Qt 5.6.2, que es la versión de Qt que usa la última versión de Velneo [&#8230;]</p>
<p>The post <a href="https://tipesoft.com/qtav-video-player-para-velneo/">QtAV Video Player para Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Como os anunciamos en el último artículo, hemos empaquetado y preparado una solución Velneo en base al reproductor <strong>QtAV</strong> de <strong>Qt</strong>. La versión empaquetada es la 1.11.0 de <strong>QtAV</strong>, ya que la 1.12.0 adolece de ciertos problemas de compatibilidad con <strong>Qt</strong> 5.6.2, que es la versión de <strong>Qt</strong> que usa la última versión de <strong>Velneo</strong> 7.22.1.</p>



<p>Este reproductor es un fork adaptado a <strong>Velneo</strong>, con decenas de correcciones. Se han implementado para poder adaptarse correctamente a <strong>Velneo</strong>. En este proceso hemos intentando mantener el 100% de la funcionalidad de la versión original.</p>



<p>Como os podréis imaginar, sigue nuestra política de código abierto respetando la licencia de QtAV. En este caso LGPL v2.1 para las librerías y GPL v3 para el reproductor.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>QtAV is a multimedia playback library based on Qt and FFmpeg. It can help you to write a player with less effort than ever before.</p>



<p><strong>QtAV is free software licensed under the term of LGPL v2.1. The player example is licensed under GPL v3. If you use QtAV or its constituent libraries, you must adhere to the terms of the license in question.</strong></p>
</blockquote>



<h2 class="wp-block-heading">Funcionalidades QtAV Video Player para Velneo</h2>



<p>Dispone de un panel de información del medio que se está reproduciendo.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-12.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-12.png" alt="image" title="image"/></a></figure>



<p>Como podéis observar, también dispone de la posibilidad de <strong>visualizar el frame de un cierto momento</strong> de la reproducción en tiempo real.</p>



<p>Posibilidad de cambiar el <strong>Video Codec</strong> (si está disponible)</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-13.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-13.png" alt="image" title="image"/></a></figure>



<p>Soporte para <strong>efectos y ajustes de imagen</strong>.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-14.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-14.png" alt="image" title="image"/></a></figure>



<p><strong>Historial</strong> de reproducción</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-15.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-15.png" alt="image" title="image"/></a></figure>



<p>Soporte de <strong>esquemas de audio</strong>, <strong>audio tracks</strong> con soporte interno y externo.</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-16.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-16.png" alt="image" title="image"/></a></figure>



<p>Misceláneos</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-17.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-17.png" alt="image" title="image"/></a></figure>



<p>Captura de frame en reproducción</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-18.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-18.png" alt="image" title="image"/></a></figure>



<p>Cuadro de dialogo Acerca de</p>



<figure class="wp-block-image aligncenter"><a href="https://tipesoft.com/wp-content/uploads/2018/02/image-19.png"><img decoding="async" src="https://tipesoft.com/wp-content/uploads/2018/02/image_thumb-19.png" alt="image" title="image"/></a></figure>



<p>Otras funcionalidades:</p>



<ul class="wp-block-list">
<li>Soporte para <strong>pantalla completa</strong></li>



<li><strong>Control de volumen</strong></li>



<li><strong>Control de reproducción</strong> completo</li>
</ul>



<p>Teclas aceleradoras:</p>



<ul class="wp-block-list">
<li>O: <strong>Abrir un fichero</strong></li>



<li>Espacio: <strong>pausa/continua</strong></li>



<li>F: <strong>Pantalla completa</strong> on/off</li>



<li>N/B: muestra el siguiente/anterior frame. Continua la reproducción mediante la tecla &#8220;Espacio&#8221;</li>



<li>Q: <strong>Sale del reproductor</strong></li>



<li>R: rota la pantalla 90</li>



<li>T: rota la pantalla –90</li>



<li>C: <strong>captura de pantalla</strong></li>



<li>M: <strong>muta el sonido</strong> on/off</li>



<li>A: cambia el radio del aspecto</li>



<li>Arriba / Abajo: sube o baja el volumen + / &#8211;</li>



<li>+/-: Incrementa/decrementa la <strong>velocidad de reproducción</strong></li>



<li>Ir hacia delante/detrás</li>



<li><strong>Arrastra y suelta</strong> un fichero sobre el reproductor para iniciar la reproducción de un nuevo fichero</li>
</ul>



<p>Un gran reproductor para que lo puedas disfrutar o integrar en vuestros desarrollos de código abierto Velneo:</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-45f68313">
<div class="kb-button-wrapper kb-button-wrapper-7cfe83fc"><a class="wp-block-kenta-blocks-button kb-button kb-button-7cfe83fc kb-button-right" href="https://tipesoft.com/descarga/15425/"><i class="fas fa-download"></i><span>Descargar Reproductor QtAV para v7.22.1.<br><br><sub>Estos ejemplos usan Velneo como plataforma. Estos ejemplos requieren Velneo 7.22.1. Requiere estar registrado</sub></span></a></div>
</div>



<p>Recuerda que este reproductor usa las librerías de QtAV por lo que tendrás que compilarlas para la versión adecuada de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para Windows x32 en un descargable. Solo tienes que copiar los binarios dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe):</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-48d54949">
<div class="kb-button-wrapper kb-button-wrapper-1a8384e8"><a class="wp-block-kenta-blocks-button kb-button kb-button-1a8384e8 kb-button-right" href="https://tipesoft.com/descarga/15423/"><i class="fas fa-download"></i><span>Descargar QtAV para v7.22.1.<br><br><sub>Estos ejemplos usan Velneo como plataforma. Estas librerías requieren Velneo 7.22.1. x32. Requiere estar registrado</sub></span></a></div>
</div>



<p>Código fuente QML del reproductor portado:</p>



<div class="wp-block-kenta-blocks-buttons kb-buttons kb-buttons-8385db2b">
<div class="kb-button-wrapper kb-button-wrapper-5b5d4a2a"><a class="wp-block-kenta-blocks-button kb-button kb-button-5b5d4a2a kb-button-right" href="https://tipesoft.com/descarga/15462/"><i class="fas fa-download"></i><span>Descargar código fuente de QtAV para Velneo.<br><br><sub>Fuentes públicas del código fuente del ejemplo. Descarga pública del código fuente</sub></span></a></div>
</div><p>The post <a href="https://tipesoft.com/qtav-video-player-para-velneo/">QtAV Video Player para Velneo</a> first appeared on <a href="https://tipesoft.com">TipeSoft</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://tipesoft.com/qtav-video-player-para-velneo/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
