Название: как передавать данные в QWebView Отправлено: disassembler от Март 18, 2011, 14:52 проблема такая. как сделать постепенный вывод информации на QWebVew (в зависимости от какого нить события выводить текст в конец страницы). т.е. надо сделать что то наподобие чата. предполагаю что надо использовать какой нить джаваскрип который будет получать инфу и отображать ее. но как ее передавать на веб страницу из приложения пока не пойму. кто нить решал подобную проблему?
Название: Re: как передавать данные в QWebView Отправлено: serg_hd от Март 18, 2011, 22:52 попробуй почитать про какой нить ajax и QWebFrame::evaluateJavaScript() :)
Название: Re: как передавать данные в QWebView Отправлено: Stiff от Март 18, 2011, 23:48 Можешь посмотреть исходники qutim, там как раз так и сделано
Название: Re: как передавать данные в QWebView Отправлено: nanoKhrome от Март 21, 2011, 13:14 Попробуй сделать нечто вроде простого innerHTML, что то типа:
Код
К сожалению как сделать это в Qt я не знаю так как сам только начал его учить ;) Название: Re: как передавать данные в QWebView Отправлено: disassembler от Март 24, 2011, 11:28 нашел решение!
спасибо всем за наводку! ;) Программа построчно выводит текст: test <номер строки> --- <время в милисекундах между последним выводом и текущим> Все оказалось как всегда просто. evaluateJavaScript() позволяет выполнить скрипт на html страничке. сам скрипт тоже простой, его идея в том чтобы найти нужный элемент по id и потом с помощью функции innerHTML добавить в него элемент (текст). вот код программы и html странички, которую гружу QWebView App Код: #include "mainwindow.h" Код: <html> В связи с решением возникла другая задача. После 2000 тысяч строк QWebView начинает жутко тормозить и каждую последую сроку выводить все медленнее и медленнее (линейно). Есть идеи как это решить? Хочу использовать QwebView для вывода отчета, а в нем строк немерено может быть. Название: Re: как передавать данные в QWebView Отправлено: disassembler от Март 24, 2011, 11:56 Проблему с тормозами тоже удалось решить.
Как я понял, идея заключается в том, чтобы не писать все строки в один <div>, а добавлять каждую новую строку в своем диве прям в дескриптор <body>. Привожу обновленный код программы (только измененную функцию): App Код: void MainWindow::onTime() |