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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWebView скроллбар. Проблемы с scrollBarMaximum.  (Прочитано 2861 раз)
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« : Март 29, 2010, 23:08 »

Код:
webview->page()->mainFrame()->setScrollBarValue(Qt::Vertical,
                                                      webview->page()->mainFrame()->scrollBarMaximum(Qt::Vertical));
Есть такой код, но иногда при добавлении текст в webview через:
webview->setHtml(webview->page()->mainFrame()->toHtml()
                       +какой-то html код");
сколлбар не опускается, т.е. scrollBarMaximum=0. (выявил через qDebug)
Да, и бывает это когда сначала добавляешь текст, а потом картинку, тогда скролл почему-то сбрасывается..
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
sendevent
Гость
« Ответ #1 : Март 30, 2010, 15:56 »

Код:
webview->setHtml(webview->page()->mainFrame()->toHtml() +"какой-то html код");
Цитата: QWebFrame::toHtml()
Returns the frame's content as HTML, enclosed in HTML and BODY tags.
т.е. вы пытаетесь установить кривой хтмл-док:
Код:
webview->setHtml( "<html><body>...</body></html>" + "какой-то html код" );
попробуйте добавлять через QWebElement, как-нить так:
Код:
QString strNewHtml = "some additional html";
QWebElement elDoc = webview->page()->mainFrame()->documentElement();
if( !docElement.isNull() )
{
    QWebElement elBody = elDoc.firstChild(); //-- or you can search by tagname "body"
    if( !elBody.isNull() )
    {
        elBody.appendInside( strNewHtml ); //-- just example, check the Assistant
    }
}
(не проверял на компилябельность и мож напутал имена методов. но суть должна быть понятна).
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #2 : Март 30, 2010, 21:12 »

sendevent, спасибо! Про кривой код как-то даже и не подумал! Просто до этого в программе был QTextBrowser, в котором был метод append, поэтому таких проблем не возникало (заменил на qwebview из-за поддержки анимации).
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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