Подтвердить что ты не робот

Можно ли создавать веб-приложение с помощью Qt?

Как создать веб-приложение с помощью Qt? Пожалуйста, посоветуйте мне. Пожалуйста, дайте небольшой пример тоже.

4b9b3361

Ответ 1

Это зависит от того, что вы подразумеваете под "веб-приложением". Если вы имеете в виду приложение, которое может отображать части веб-страницы в своем интерфейсе как визуализированный HTML, например, браузер... да. Qt включает в себя что-то, называемое QtWebKit:

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

(Примечание: в прежние времена именно Microsoft - я думаю - кто первым сделал встроенный элемент управления Internet Explorer, чтобы вы могли получить URL-адрес в середине некоторого приложения MFC или VB и запустить браузер в в середине вашего приложения, отличного от формы. Крючки для решения Microsoft отсасываются, Qt намного лучше.)

В любом случае, это здорово, если вы хотите, чтобы люди устанавливали ваше приложение на своем компьютере, где он извлекает веб-данные, но использует преимущества собственных функций, чтобы быть богаче, чем браузер. Но будьте осторожны, потому что в наши дни родные приложения должны быть действительно выдающимися, чтобы превзойти преимущество чего-то, что работает в браузере, который у них уже есть.

ОДНАКО. Если вы пытаетесь использовать QtCore для вывода содержимого на стороне сервера и выполнения веб-запросов, это будет тяжелая битва. Вы можете найти некоторые связанные примеры, если вы посмотрите достаточно сложно:

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

Очень немногие люди используют С++ (гораздо меньше Qt) для создания веб-страниц на стороне сервера. Тем не менее, все еще некоторые делают это, даже в довольно прохладных направлениях:

http://www.webtoolkit.eu/wt

... несмотря на то, что QtCreator не поможет в этом преследовании.

Ответ 2

Что вы подразумеваете под "веб-приложением"? Это настольное приложение с веб-функциями? Если да, то Qt в целом очень хорош для этого.

Если вы имеете в виду сервер, который выводит HTML, то вы должны использовать что-то другое, потому что вам придется изобретать много колес, чтобы заставить его работать.

Ответ 3

Запрошенная функция не существует внутри самой Qt. Однако существует (по крайней мере) одна сторонняя библиотека, которая позволяет некоторым некоторым Qt-кодом для настольного приложения в определенной степени повторно использоваться для обслуживания веб-приложения:

http://cutelyst.org/

Однако это не волшебным образом позволяет вам писать QML-интерфейс с QML-виджетами и иметь визуальный интерфейс, доступный через веб-браузер.

Ответ 4

Вам потребуется запустить или встроить веб-сервер. Было бы более странно обращаться к веб-серверу Apache или Apache Tomcat. Иначе вы бы немного побежали.

Ответ 5

Считайте также использование некоторой HTTP-серверной библиотеки, например libonion или Wt. Wt близко по духу к Qt. Однако вы не будете использовать Qt. libonion - более низкий уровень (и вы можете использовать браузерную веб-фреймворки, например, JQuery или AngularJS с ним).

Если у вас уже есть веб-сервер, вы можете рассмотреть возможность разработки приложения FastCGI на С++.

Вам обязательно нужно хорошее понимание HTTP и HTML5 и AJAX.