Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
Feb. 11, 2019, 4:58 p.m.

Можно ли в Qt создать сайт?

Здравствуйте! Можно ли в Qt создать сайт? И если можно, то как? Или возможно обычную программу можно как то скомпилировать под эту цель?

9

теоретически да, я даже как-то находил примеры, но не углублялся

0

А не подскажите принцип? Можно ли его склепать из обычных виджетов?

0

https://m.habr.com/ru/post/252215/ как вариант натолкунуть на

0

Из обычных виджетов вы ничего не склепаете, из Qt максимум можно использовать то, что не имеет отношения к интерфейсу. То есть сигналы/слоты, сетевой уровень, работу с базой данных и т.д. Про классы, наследованные от QWidget сразу можете забыть. Web-интерфейс и Интерфейс десктоп приложения - это немного разные вещи. Есть, конечно, какие-то фреймворки, которые могут и там и там, но как правило они ограничиваются мобильными приложениями и ничего не предоставляют для обычных ПК в качестве приложения, но это во многом потому, что они предоставляют Web. Но там как правило или порог вхождения очень высокий, или написаны задницей (и если сейчас они ещё поддерживаются разработчиками, то никто не даёт гарантии, что через месяц его не выкинут на помойку, поскольку разработчик представил это в качестве портфолио и его позвали работать в хорошую компанию).

Я же не на ровном месте сайт на Django начал делать ;-)
Было бы всё так легко, то писал бы его на Qt.

По факту на C++ из сайтов я находил то, что написано на Wt . Алексей уже указал статью, где этот фреймворк упоминается. И при желании туда и Qt можно прикрутить с его плюшками в виде потоков и т.д. Мы на работе используем ORM от Wt (сам мало с ней работаю, моя работа на более высоком уровне приложения, но на уровне абстракции моделей использую эту ORM), вполне юзабельная вещь.

Автор той статьи откинул Wt, возможно зря, поскольку он мог бы использовать только ORM часть от Wt, а веб часть уже на чём-нибудь другом написать. Автор той статьи прав, что уровень абстракции у Qt в плане баз данных самый низкий, ORM в Qt вообще нет.

Также есть QtWebApp, на котором можно писать веб-морду, я на хабр писал статью для одной компании на тему использования QtWebApp, там есть, если поискать. Давно имел дело с той штукой, но мы её использовали для встраиваемого решения. Я не уверен, но скорее всего Wt будет в этом плане покруче.

А так из того, что автор привёл в той статьи, которую указал Алексей, наиболее серьёзным мне кажется Wt. Где-то на форумах даже находил отзывы, что человек писал сайт с форумом, который без проблем на Wt держал до миллиона хитов в сутки. Сейчас уже не найду, много воды утекло.

Так что, Qt здесь скорее для некоторого бэкенда и его плюшек сигналов и слотов.

А по общему принципу смотреть туториалы и документацию того фреймворка, который выберете.

1

Спасибо всем за информацию

0

А используя QtWebApp, можно пользоваться каким нибудь дизайнером?

0

нет, только вручную в html файлах всё пишется.

0
o
  • Feb. 12, 2019, 7:06 p.m.
  • (edited)

PHP 5 / Д. В. Котеров, А. Ф. Костарев. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2008. — 1104 с.: ил. — (В подлиннике)

тут около сотни страниц рассказывает, как делать сайт на с++ и почему так делать не надо.

0

Спасибо, мне достаточно того, что так на данный момент делать не стоит

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Last comments
Feb. 21, 2019, 12:51 p.m.
Евгений Легоцкой

Иногда CMake приходится перезапускать начисто, не обновляет кэш
R
Feb. 21, 2019, 12:29 p.m.
RandyGallup

Я указал данные строки, т.к. без них у меня вылетала следующая ошибка: By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configurat...
Feb. 21, 2019, 12:08 p.m.
BlinCT

Вот атк выглядит мой проектник, посмотрите его. cmake_minimum_required(VERSION 3.6)project(projecttimer)set(CMAKE_CXX_STANDARD 11)set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)find_packa...
Feb. 21, 2019, 12:04 p.m.
BlinCT

Смотрите, если вы используете глобально для проекта -DCMAKE_PREFIX_PATH= то вам не надо уже указывать вот эти строкиset(Qt5Core_DIR "C:/Qt/5.12.1/mingw73_64/lib/cmake/Qt5Core")set(Qt5Gui_DIR...
R
Feb. 21, 2019, 11:54 a.m.
RandyGallup

Даже не запускается. main.cpp у меня точно такой же, как в статье. CMakeLists.txt пришлось немного подправить (прикрепил ниже), т.к. не находились некоторые файлы. cmake_minimum_requi...
Now discuss on the forum
Feb. 21, 2019, 8:58 a.m.
Евгений Легоцкой

Ну у меня координаты передавались в зависимости от положения курсора мыши, а в вам по сути нужно будет аналогичным способом посылать даннные из полей ввода. Так что здесь скорее интерфес...
Feb. 20, 2019, 9:55 p.m.
Евгений Легоцкой

Не до конца понимаю сути вопроса, наверное, нужно увидеть программный код и попытку его применения, но к методам базового класса можно обращаться в наследованном классе через вызов по имени ба...
MU
Feb. 20, 2019, 3:06 p.m.
Maciej Urmański

Yes, ok I have solution! Thank you for directing me about annotate.:) Solution is: users_in = User.objects.filter(joined_users__goal=goal, joined_users__joined=True)
Feb. 20, 2019, 2:40 p.m.
Евгений Легоцкой

Думаю, что ещё можно переопределить mouseReleaseEvent(QMouseEvent* event) у QTableView, который содержит модель и немного поиграться с индексом. Если это индекс, который соответству...
Feb. 20, 2019, 10:34 a.m.
Евгений Легоцкой

Да, так тоже можно. Единственный момент в том, что lupdate не всегда понимает, к какому контексту это дело относится, и может запихать в левый контекст. В небольшом проекте это не критич...
Join us in social networks

For registered users on the site there is a minimum amount of advertising