Как создать веб-приложение с помощью Qt? Пожалуйста, посоветуйте мне. Пожалуйста, дайте небольшой пример тоже.
Можно ли создавать веб-приложение с помощью Qt?
Ответ 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) для создания веб-страниц на стороне сервера. Тем не менее, все еще некоторые делают это, даже в довольно прохладных направлениях:
... несмотря на то, что 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.