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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Лог чата через QWebView  (Прочитано 3402 раз)
anaksimandr
Гость
« : Январь 09, 2012, 22:22 »

Здравствуйте.

Пытаюсь реализовать отображение лога чата через QWebView, возникли проблемы в реализации обновления информации, т.е. проблема с добавлением новых сообщений в конец страницы.

1.  Пробовал так:
Код:
builder->appendEventOld(this, event);             // клас, который формирует страницу целиком, т.е. в нем формируется лог, который затем выводится
webView->setHtml(builder->getDoc(), skinDir);  // тут
Проблемы: допустим в шаблоне есть javascript, который должен отрабатывать при "загрузке" и как-то менять страницу. Получается после отображения страницу нужно сохранить в builder, что бы новые ивенты добавлялись уже к этой странице, но как это сделать? QWebView рендерит в отдельном потоке, на сколько я понял, поэтому вызов
Код:
builder->saveDoc(webView->page()->mainFrame()->toHtml());
сразу после setHtml ни к чему хорошему не приводит. Пытался завязаться на сигналы loadStarted и loadFinished - не получилось.

2. пробовал так:
В builder формируется только новый код, который нужно добавить и затем вызывается что-то вроде
Код:
void addToDoc(QString add) {
webView->page()->mainFrame()->documentElement().appendInside(add);
}
Проблемы: не отрабатывает javascript, стили .css, определенные глобально (например, для body) так же не работают.

Буду рад любой помощи.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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