В Qt4 QTextBrowser автоматически переводит полосу прокрутки в начало. Содержимое обновляется один раз затем снова на предыдущее, необходимо чтобы полоса прокрутки была на том же месте, что и при предпоследней установке текста. Текст устанавливается методом setText(). В документации почему-то об этом ничего не сказано.
Если можно, дайте пример кода.
Qt4, Qtextbrowser, прокрутка при обновлении
Модератор: Модераторы разделов
-
TwisT
- Сообщения: 265
- ОС: Debian
Re: Qt4, Qtextbrowser, прокрутка при обновлении
Варианты:
запомнить текущее положение полосы (незнаю как, но наверно можно : ) )
обрабатывать событие sourceChanged()
или textChanged ()
или cursorPositionChanged()
Т.к. QTextBrowser унаследован от QScrollView то можно попробовать
позамарачиватся с contentsMoving ( int x, int y ) и остальными сигналами предка
ченибудь да заработает
PS: Хотя может быть придется полазать в исходниках самой библиотеки
запомнить текущее положение полосы (незнаю как, но наверно можно : ) )
обрабатывать событие sourceChanged()
или textChanged ()
или cursorPositionChanged()
Т.к. QTextBrowser унаследован от QScrollView то можно попробовать
позамарачиватся с contentsMoving ( int x, int y ) и остальными сигналами предка
ченибудь да заработает
PS: Хотя может быть придется полазать в исходниках самой библиотеки
Linux user #432536.
-
Liksys
- Сообщения: 2910
Re: Qt4, Qtextbrowser, прокрутка при обновлении
Qt4. Там нет такого класса, как QScrollView. QAbstractScrollArea.
Но все равно. в Qt3 полоса текстовой прокрутки сама не обновлялась, пока не сделаешь reload(). Может, есть какие-то параметры?
Или второй вариант. Как запретить QTextBrowser делать setSource() или любое другое действие при нажатии на ссылку? То есть я сам это обработаю, мне не нужно, чтобы он пытался что-то сам загрузить или вызвать внешнюю программу для следования по ссылке. Если это возможно, это даже было бы лучше, чем предыдущий вариант.
Но все равно. в Qt3 полоса текстовой прокрутки сама не обновлялась, пока не сделаешь reload(). Может, есть какие-то параметры?
Или второй вариант. Как запретить QTextBrowser делать setSource() или любое другое действие при нажатии на ссылку? То есть я сам это обработаю, мне не нужно, чтобы он пытался что-то сам загрузить или вызвать внешнюю программу для следования по ссылке. Если это возможно, это даже было бы лучше, чем предыдущий вариант.