Russian Qt Forum

Qt => Вопросы новичков => Тема начата: DELAKEY от Октябрь 11, 2014, 12:42



Название: html приложение
Отправлено: DELAKEY от Октябрь 11, 2014, 12:42
Гугл не помог
Хочу написать приложение на html но не могу найти примеры его создания может кинете пару ссылок.
В частности интересует как отравить сигнал из html в приложение и как из приложения оправлять данные в html с самими С++ и JS не думаю что возникнут у меня проблеы


Название: Re: html приложение
Отправлено: kambala от Октябрь 11, 2014, 14:42
я так понимаю тебе нужен QWebKit


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 11, 2014, 16:08
я так понимаю тебе нужен QWebKit
Возможно... точно сказать пока не могу.
Я создаю html приложение через qtcreator


Название: Re: html приложение
Отправлено: Fregloin от Октябрь 11, 2014, 18:40
не самый удачный выбор для такого рода приложения


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 12, 2014, 00:32
не самый удачный выбор для такого рода приложения
Ну я только начал смотреть QT очень пригленулась крекспектива создания интерфейса на html, пока хочу сначала разобраться как создавать приложения в qtкреаторе, а целевое создание html приложения в VS2013


Название: Re: html приложение
Отправлено: kambala от Октябрь 12, 2014, 03:11
может тебе QtQuick нужен?


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 12, 2014, 03:31
может тебе QtQuick нужен?
а он позволяет создавать интерфейс на html а саму программу на C++ ?


Название: Re: html приложение
Отправлено: Отражение луны от Октябрь 12, 2014, 04:41
а он позволяет создавать интерфейс на html а саму программу на C++ ?
Позволяет создать gui на qml+javascript, а основную функциональную часть на C++. При этом qml в плане удобства и эффективности разметки и проектирования чрезвычайно сильно опережает html и все, что с ним связано. Кроме того, есть куча дополнительных плюшек вроде крутых шейдерных эффектов, мультимедиа, отличной поддержки тача и так далее.


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 12, 2014, 05:25
а он позволяет создавать интерфейс на html а саму программу на C++ ?
Позволяет создать gui на qml+javascript, а основную функциональную часть на C++. При этом qml в плане удобства и эффективности разметки и проектирования чрезвычайно сильно опережает html и все, что с ним связано. Кроме того, есть куча дополнительных плюшек вроде крутых шейдерных эффектов, мультимедиа, отличной поддержки тача и так далее.
Слишком круто для меня...
Я посмотрел примеры qml и понял что это я пока не состоянии осилить, насколько я понел для создания окна с html используется QGraphicsWebView


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 12, 2014, 06:07
И так... проблем со слотами для получения сообщений из html не возникло, теперь вопрос в том как из С++ приложения что-либо отправить в html-страничку, я так пологаю что нужно будет вызывать какуюто функцию js но пока не нахожу подходящей инфы?


Название: Re: html приложение
Отправлено: Отражение луны от Октябрь 12, 2014, 07:09
Вам нужно http://qt-project.org/doc/qt-4.8/qtwebkit-bridge.html
Цитировать
QWebFrame *frame = myWebPage->mainFrame();
 frame->addToJavaScriptWindowObject("someNameForMyObject", myObject);
Ну и, конечено, можно коннектить сигналы объенктов к яваскрипт функциям, которые по сути являются обычными слотами, с помощью connect.


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 12, 2014, 07:51
Вам нужно http://qt-project.org/doc/qt-4.8/qtwebkit-bridge.html
Цитировать
QWebFrame *frame = myWebPage->mainFrame();
 frame->addToJavaScriptWindowObject("someNameForMyObject", myObject);
Ну и, конечено, можно коннектить сигналы объенктов к яваскрипт функциям, которые по сути являются обычными слотами, с помощью connect.
на сколько я понел addToJavaScriptWindowObject служит для добавления на страницу своего js-обьекта, и через него в дальнейшем идут конекты из страници в приложение а не наобарот


Название: Re: html приложение
Отправлено: Отражение луны от Октябрь 12, 2014, 16:04
на сколько я понел addToJavaScriptWindowObject служит для добавления на страницу своего js-обьекта, и через него в дальнейшем идут конекты из страници в приложение а не наобарот
Вы можете подключиться к сигналам этого объекта и передавать все что нужно параметрами.


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 12, 2014, 19:36
на сколько я понел addToJavaScriptWindowObject служит для добавления на страницу своего js-обьекта, и через него в дальнейшем идут конекты из страници в приложение а не наобарот
Вы можете подключиться к сигналам этого объекта и передавать все что нужно параметрами.
Можно пример? а то не чего не получаеться


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 14, 2014, 04:08
Код:
 function myInterestingScriptFunction() { ... }
 ...
 myQObject.somethingChanged.connect(myInterestingScriptFunction);
чтото я не как не пойму что это за обьект такой myQObject, у себя в проекте не могу найти не одного проекта с переменной somethingChanged


Название: Re: html приложение
Отправлено: Отражение луны от Октябрь 14, 2014, 06:33
Код:
 function myInterestingScriptFunction() { ... }
 ...
 myQObject.somethingChanged.connect(myInterestingScriptFunction);
чтото я не как не пойму что это за обьект такой myQObject, у себя в проекте не могу найти не одного проекта с переменной somethingChanged
somethingChanged в данном случае - сигнал, срабатывающий у myQObject. Объект и сигнал имеют символическое название, указанное чисто для примера.
Иначе говоря, есть у тебя класс, который содержит в себе список уток. Ты описываешь сигнал, который будет возникать при добавлении новой утки, параметром сигнала передаешь саму утку, а при помощи метода connect подключаешь этот сигнал к яваскрипт функции. В результате у тебя при срабатывании сигнала будет вызываться та самая функция, а одним из аргументов функции будет та самая утка. Таким образом ты сможешь в этой функции добавить утку на форму, добавить в массив и так далее.
Изложил вопрос как я это понял из документации. Могу ошибаться, т.к. html проложениями не занимаюсь, ток qtquick.


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 18, 2014, 13:45
Иначе говоря, есть у тебя класс, который содержит в себе список уток. Ты описываешь сигнал, который будет возникать при добавлении новой утки, параметром сигнала передаешь саму утку, а при помощи метода connect подключаешь этот сигнал к яваскрипт функции. В результате у тебя при срабатывании сигнала будет вызываться та самая функция, а одним из аргументов функции будет та самая утка. Таким образом ты сможешь в этой функции добавить утку на форму, добавить в массив и так далее.
Жесть.


Название: Re: html приложение
Отправлено: DELAKEY от Октябрь 18, 2014, 14:16
Общем я разобрался.
На мой взгляд пример слишком мало информативен чтобы как утверждают создатели смогли разобраться люди даже не знающие программирование, хотя возможно это из-за трудностей перевода


Название: Re: html приложение
Отправлено: titan83 от Октябрь 29, 2014, 09:26
Общем я разобрался.
На мой взгляд пример слишком мало информативен чтобы как утверждают создатели смогли разобраться люди даже не знающие программирование, хотя возможно это из-за трудностей перевода
Ну так поделись с другими) Интересны механизмы взаимодействия между С++ и JS.