web-dev-qa-db-fra.com

Est-il possible de créer une application Web en utilisant Qt?

Comment créer une application web en utilisant Qt? S'il vous plait conseillez-moi. S'il vous plaît, donnez aussi un petit exemple.

28
yamunamathew123

Cela dépend de ce que vous entendez par "application Web". Si vous parlez d'une application qui peut afficher des parties d'une page Web sous forme de rendu HTML, comme un navigateur peut ... oui. Qt intègre quelque chose appelé QtWebKit:

http://doc.qt.io/qt-5/qtwebkit-index.html

(Remarque: Autrefois, c’était Microsoft - je pense - qui a créé un contrôle intégrable pour Internet Explorer afin que vous puissiez extraire une URL au milieu d’une application MFC ou VB et l’exécuter. un navigateur au milieu de votre application de forme différente. Les crochets d'événements pour la solution de Microsoft étaient nul, les Qt sont bien meilleurs.)} _

Quoi qu’il en soit, c’est formidable si vous voulez que les utilisateurs installent votre application sur leur ordinateur, où elles récupèrent les données Web mais utilisent les avantages des fonctionnalités natives pour être plus riches qu’un navigateur. Mais soyez prudent, car de nos jours, les applications natives doivent être vraiment exceptionnelles pour surpasser les avantages de quelque chose qui tourne dans un navigateur déjà installé.

CEPENDANT Si vous essayez d'utiliser QtCore pour envoyer du contenu côté serveur et répondre aux demandes Web, la bataille sera ardue. Vous trouverez peut-être des exemples connexes si vous regardez suffisamment fort:

https://web.archive.org/web/20100922075100/http://labs.qt.nokia.com/2006/12/20/whats-this-cgi/

Très peu de gens utilisent C++ (beaucoup moins Qt) pour générer des pages Web côté serveur. Pourtant, il y a toujours certains à le faire, même de façon plutôt cool:

http://www.webtoolkit.eu/wt

... Quoiqu'il en soit, QtCreator ne sera d'aucune aide dans ce genre de poursuite.

27
HostileFork

La fonctionnalité que vous demandez n’existe pas dans Qt. Cependant, il existe (au moins) une bibliothèque tierce permettant de réutiliser dans une certaine mesure le code Qt d'une application de bureau pour servir une application Web:

http://cutelyst.org/

Cependant, cela ne vous permet pas, comme par magie, d'écrire une interface QML avec des widgets QML et de disposer d'une interface visuelle accessible via un navigateur Web.

6
Phrogz

Qu'entendez-vous par "application Web"? Est-ce une application de bureau avec des fonctionnalités Web? Si oui, oui, Qt en général est très bon pour cela.

Si vous voulez parler d'un type de serveur produisant du HTML, vous devriez utiliser autre chose car il faudrait réinventer de nombreuses roues pour que cela fonctionne.

3
this.lau_

Vous devez exécuter ou intégrer un serveur Web. Il serait préférable de choisir une approche basée sur Apache Web Server ou Apache Tomcat. Sinon, vous courriez un peu contre vents et marées.

2
Michael-O

Pensez également à utiliser une bibliothèque de serveur HTTP telle que libonion ou Wt . Wt est proche en esprit de Qt. Cependant, vous n'utiliserez pas Qt lui-même. libonion est de niveau inférieur (et vous voudrez peut-être utiliser les Web frameworks comme, par exemple, JQuery ou AngularJS avec).

Si vous avez déjà un serveur Web, vous pouvez envisager de développer une application FastCGI en C++.

Vous avez sûrement besoin d'une bonne compréhension de HTTP protocole et de HTML5 & AJAX .

1