Extending Qt WebKit/es: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Category:Developing with Qt::QtWebKit]][[Category:Spanish]]<br />[[Extending QtWebKit|English]] '''Español''' [[Estenent QtWebKit|Català]]<br />[toc align_right=&quot;yes&amp;quot; depth=&quot;2&amp;quot;]
[[Category:Developing with Qt::QtWebKit]][[Category:Spanish]]
[[Extending QtWebKit|English]] '''Español''' [[Estenent QtWebKit|Català]]
[toc align_right="yes" depth="2"]


= Extendiendo Qt Webkit =
= Extendiendo Qt Webkit =
Line 5: Line 7:
El módulo QtWebKit permite a los desarrolladores ampliar y combinar características que se encuentran en Qt y WebKit. Este híbrido de C++/diseño web se está convirtiendo en popular por una variedad de razones, entre ellas el hecho de que permite a distintos equipos aprovechar la gran comunidad de desarrolladores web especializados.
El módulo QtWebKit permite a los desarrolladores ampliar y combinar características que se encuentran en Qt y WebKit. Este híbrido de C++/diseño web se está convirtiendo en popular por una variedad de razones, entre ellas el hecho de que permite a distintos equipos aprovechar la gran comunidad de desarrolladores web especializados.


Una serie de artículos en &quot;Qt Quarterly&amp;quot;:http://doc.qt.nokia.com/qq/index.html proporcionan una buena introducción a las tecnologías y los procedimientos empleados.
Una serie de artículos en "Qt Quarterly":http://doc.qt.nokia.com/qq/index.html proporcionan una buena introducción a las tecnologías y los procedimientos empleados.


== Construir interfaces de red ==
== Construir interfaces de red ==


Los diseños híbridos a menudo requieren un código personalizado de Qt para manejar las interacciones de la red. &quot;Uso de un servicio Web sencillo con Qt&amp;quot;:http://doc.qt.nokia.com/qq/qq23-web-service.html utiliza el &quot;servicio web MathTran&amp;quot;:http://www.mathtran.org/ para que un fragmento de marcado TeX introducido en el editor de texto se vea como una imagen. El artículo de 2007 utiliza las clases que se han quedado obsoletas, pero merece la pena leerlo.
Los diseños híbridos a menudo requieren un código personalizado de Qt para manejar las interacciones de la red. "Uso de un servicio Web sencillo con Qt":http://doc.qt.nokia.com/qq/qq23-web-service.html utiliza el "servicio web MathTran":http://www.mathtran.org/ para que un fragmento de marcado TeX introducido en el editor de texto se vea como una imagen. El artículo de 2007 utiliza las clases que se han quedado obsoletas, pero merece la pena leerlo.


== Añadir widgets Qt a interfaces de usuario web-céntricas ==
== Añadir widgets Qt a interfaces de usuario web-céntricas ==


El artículo de David Boddie &quot;Conectarse a la web&amp;quot;:http://doc.qt.nokia.com/qq/qq26-webplugin.html muestra cómo incluir widgets Qt en interfaces de usuario centradas en web. Comienza el uso básico de QWebView para mostrar una página Web:
El artículo de David Boddie "Conectarse a la web":http://doc.qt.nokia.com/qq/qq26-webplugin.html muestra cómo incluir widgets Qt en interfaces de usuario centradas en web. Comienza el uso básico de QWebView para mostrar una página Web:


<code> int main(int argc, char *argv[])<br /> {<br /> QApplication app(argc, argv);<br /> QWebView view;<br /> view.load(QUrl(&quot;http://www.trolltech.com/&amp;quot;));<br /> view.show();<br /> return app.exec&amp;amp;#40;&amp;#41;;<br /> }<br /></code>
<code> int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWebView view;
view.load(QUrl("http://www.trolltech.com/"));
view.show();
return app.exec();
}
</code>


y continúa con cómo utilizar QWebPluginFactory para crear un widget simple que muestra archivos separados por comas (CSV).
y continúa con cómo utilizar QWebPluginFactory para crear un widget simple que muestra archivos separados por comas (CSV).
Line 21: Line 31:
== Adición de nuevos protocolos para QtWebKit ==
== Adición de nuevos protocolos para QtWebKit ==


David continúa con &quot;Agregar nuevos protocolos a QtWebKit&amp;quot;:http://doc.qt.nokia.com/qq/32/qq32-webkit-protocols.html donde utiliza la API de Qt de acceso a la red con WebKit a la vez que convierte QWebView en un simple cliente FTP. El API de acceso a la red de Qt es una tecnología que pretende sustituir muchas, pero no todas las funcionalidades proporcionada por las clases QHttp que reúnan las condiciones establecidas. Aunque el acceso a la red de la API es una tecnología específica de Qt, el módulo QtWebKit integra esta tecnología de Qt con WebKit para permitir la personalización del motor del navegador por los desarrolladores de aplicaciones Qt. También significa que podemos controlar la forma en que obtiene y &quot;renderiza&amp;quot; el contenido el motor del navegador.
David continúa con "Agregar nuevos protocolos a QtWebKit":http://doc.qt.nokia.com/qq/32/qq32-webkit-protocols.html donde utiliza la API de Qt de acceso a la red con WebKit a la vez que convierte QWebView en un simple cliente FTP. El API de acceso a la red de Qt es una tecnología que pretende sustituir muchas, pero no todas las funcionalidades proporcionada por las clases QHttp que reúnan las condiciones establecidas. Aunque el acceso a la red de la API es una tecnología específica de Qt, el módulo QtWebKit integra esta tecnología de Qt con WebKit para permitir la personalización del motor del navegador por los desarrolladores de aplicaciones Qt. También significa que podemos controlar la forma en que obtiene y "renderiza" el contenido el motor del navegador.


Puesto que QNetworkRequest y QNetworkReply están diseñados para proporcionar una abstracción reutilizable para las operaciones de red, parece obvio utilizar estas clases para añadir soporte de FTP para navegadores escritos utilizando QtWebKit. Para ello, primero tenemos que examinar las clases de acceso a la red antes de que veamos cómo el módulo QtWebKit los usa para gestionar operaciones de red.
Puesto que QNetworkRequest y QNetworkReply están diseñados para proporcionar una abstracción reutilizable para las operaciones de red, parece obvio utilizar estas clases para añadir soporte de FTP para navegadores escritos utilizando QtWebKit. Para ello, primero tenemos que examinar las clases de acceso a la red antes de que veamos cómo el módulo QtWebKit los usa para gestionar operaciones de red.


<code><br />NetworkAccessManager::NetworkAccessManager(QNetworkAccessManager *manager, QObject *parent)<br /> : QNetworkAccessManager(parent)<br />{<br /> setCache(manager-&gt;cache());<br /> setCookieJar(manager-&gt;cookieJar());<br /> setProxy(manager-&gt;proxy());<br /> setProxyFactory(manager-&gt;proxyFactory());<br />}<br /></code>
<code>
NetworkAccessManager::NetworkAccessManager(QNetworkAccessManager *manager, QObject *parent)
: QNetworkAccessManager(parent)
{
setCache(manager->cache());
setCookieJar(manager->cookieJar());
setProxy(manager->proxy());
setProxyFactory(manager->proxyFactory());
}
</code>

Revision as of 11:19, 25 February 2015

English Español Català [toc align_right="yes" depth="2"]

Extendiendo Qt Webkit

El módulo QtWebKit permite a los desarrolladores ampliar y combinar características que se encuentran en Qt y WebKit. Este híbrido de C++/diseño web se está convirtiendo en popular por una variedad de razones, entre ellas el hecho de que permite a distintos equipos aprovechar la gran comunidad de desarrolladores web especializados.

Una serie de artículos en "Qt Quarterly":http://doc.qt.nokia.com/qq/index.html proporcionan una buena introducción a las tecnologías y los procedimientos empleados.

Construir interfaces de red

Los diseños híbridos a menudo requieren un código personalizado de Qt para manejar las interacciones de la red. "Uso de un servicio Web sencillo con Qt":http://doc.qt.nokia.com/qq/qq23-web-service.html utiliza el "servicio web MathTran":http://www.mathtran.org/ para que un fragmento de marcado TeX introducido en el editor de texto se vea como una imagen. El artículo de 2007 utiliza las clases que se han quedado obsoletas, pero merece la pena leerlo.

Añadir widgets Qt a interfaces de usuario web-céntricas

El artículo de David Boddie "Conectarse a la web":http://doc.qt.nokia.com/qq/qq26-webplugin.html muestra cómo incluir widgets Qt en interfaces de usuario centradas en web. Comienza el uso básico de QWebView para mostrar una página Web:

 int main(int argc, char *argv[])
 {
 QApplication app(argc, argv);
 QWebView view;
 view.load(QUrl("http://www.trolltech.com/"));
 view.show();
 return app.exec();
 }

y continúa con cómo utilizar QWebPluginFactory para crear un widget simple que muestra archivos separados por comas (CSV).

Adición de nuevos protocolos para QtWebKit

David continúa con "Agregar nuevos protocolos a QtWebKit":http://doc.qt.nokia.com/qq/32/qq32-webkit-protocols.html donde utiliza la API de Qt de acceso a la red con WebKit a la vez que convierte QWebView en un simple cliente FTP. El API de acceso a la red de Qt es una tecnología que pretende sustituir muchas, pero no todas las funcionalidades proporcionada por las clases QHttp que reúnan las condiciones establecidas. Aunque el acceso a la red de la API es una tecnología específica de Qt, el módulo QtWebKit integra esta tecnología de Qt con WebKit para permitir la personalización del motor del navegador por los desarrolladores de aplicaciones Qt. También significa que podemos controlar la forma en que obtiene y "renderiza" el contenido el motor del navegador.

Puesto que QNetworkRequest y QNetworkReply están diseñados para proporcionar una abstracción reutilizable para las operaciones de red, parece obvio utilizar estas clases para añadir soporte de FTP para navegadores escritos utilizando QtWebKit. Para ello, primero tenemos que examinar las clases de acceso a la red antes de que veamos cómo el módulo QtWebKit los usa para gestionar operaciones de red.

NetworkAccessManager::NetworkAccessManager(QNetworkAccessManager *manager, QObject *parent)
 : QNetworkAccessManager(parent)
{
 setCache(manager->cache());
 setCookieJar(manager->cookieJar());
 setProxy(manager->proxy());
 setProxyFactory(manager->proxyFactory());
}