Russian Qt Forum
Ноябрь 22, 2024, 16:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Как передать обект между двума страничками?  (Прочитано 13871 раз)
fuCtor
Гость
« Ответ #15 : Июль 15, 2012, 11:33 »

Но тут опять вопрос, как прокинуть обэкт  с++ --> JS ?

http://doc.qt.nokia.com/4.7-snapshot/qwebframe.html#addToJavaScriptWindowObject
Записан
Ubuntu_linux
Гость
« Ответ #16 : Июль 16, 2012, 08:29 »

window.opener должен помочь.
Да, класс, то что нужно, но возникла проблемка, надо организовать многострвничность в браузере! Где копать?
Записан
alexis031182
Гость
« Ответ #17 : Июль 16, 2012, 10:44 »

Да, класс, то что нужно, но возникла проблемка, надо организовать многострвничность в браузере! Где копать?
Свой браузер делаете?

Я так понимаю, что многостраничность - это несколько табов на форме. В этом случае нужно создать по одному экземпляру класса браузера на таб. Наверное так.
Записан
Ubuntu_linux
Гость
« Ответ #18 : Июль 16, 2012, 11:08 »

Да, класс, то что нужно, но возникла проблемка, надо организовать многострвничность в браузере! Где копать?
Свой браузер делаете?

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

Неа, не браузер, просто оболочку для обработки js и отображения результата.

Вот походу надо переопределить  метод createWindow,  а результатом будет новое окно QWebView.

Код
C++ (Qt)
class MyWebView :public QWebView
{
   Q_OBJECT
public:
   explicit MyWebView(QWebView *p=0){}
private:
   QWebView* createWindow(QWebPage::WebWindowType type){return new QWebView();}
};

Теперь надо подумать как организовать отображения многостраничности. и засунуть все это в qml.
Записан
Ubuntu_linux
Гость
« Ответ #19 : Июль 16, 2012, 11:11 »


Да, здорово, проверил, работает!
Но для меня важно передавать уже разпарсеный хмл, так как это самый долгий процесс у меня! Но вопрос, как передать хмл объект в страничку?
Записан
fuCtor
Гость
« Ответ #20 : Июль 16, 2012, 11:48 »


Да, здорово, проверил, работает!
Но для меня важно передавать уже разпарсеный хмл, так как это самый долгий процесс у меня! Но вопрос, как передать хмл объект в страничку?

Никак, как вариант можно парсить на стороне C++, а в браузер вкидывать готовые фрагменты разметки. Разбор/парсинг/формирование ответа можно выводить в поток, а по окончанию кидать результат сигналом, к которому сделать биндинг в JS коде на странице + к этому jQuery (например) и вполне можно таким хитрым способом формировать вывод.
Записан
Ubuntu_linux
Гость
« Ответ #21 : Июль 16, 2012, 12:58 »

А если сделать болванку на QWebPage  с нужными скриптами и засунуть ее в отдельный поток?
Записан
mutineer
Гость
« Ответ #22 : Июль 16, 2012, 13:10 »

Виджеты могут работать только в GUI-потоке
Записан
Ubuntu_linux
Гость
« Ответ #23 : Июль 16, 2012, 13:45 »

Виджеты могут работать только в GUI-потоке
Это да!
Я виду к тому, что может страница унаследована не от виджета, а от обьэкта, например.
Записан
mutineer
Гость
« Ответ #24 : Июль 16, 2012, 13:57 »

ну так загляни в документацию
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.073 секунд. Запросов: 21.