LINUX.ORG.RU

QTextEdit: сохранение текущей позиции


0

0

В программе, которую я сейчас пишу, нужно сделать сохранение текущей позиции в просматриваемом тексте, который содержится в read-only QTextEdit. В Qt3 я это делал так: при выходе из программы делал save_para=TextEdit.paragraphAt(XY) (QPoint XY - координаты левого верхнего угла текущей области вывода текста), а при запуске проги - TextEdit->setCursorPosition(position,0);

В связи с тем, что движок вывода текста и архитектура соответствующих классов Qt4 были значительно переделаны, функции-члена parapraphAt у виджета QTextEdit теперь нет. Что вы можете посоветовать использовать взамен?

З. Ы. Использование QTextCursor::position() не катит, потому как текст просматривается в режиме read-only, а курсор не перемещается при прокрутке текста (или перемещается? как это сделать?)

★★

ПС: об идееях напишу позже.
иЗВИНИ ВРЕМЕНИ НЕ ХВАТАЕТ:(

Severus_Zley
()
Ответ на: комментарий от V_L_A_D

Потому как при изменении размеров QTextEdit меняется verticalScrollBar->maximum() и verticalScrollBar->value(). И если я сделаю таким образом закладку, разверну окно на весь экран, а затем перейду по этой закладке, то попаду совсем не туда, куда нужно;)

V_L_A_D ★★
() автор топика
Ответ на: комментарий от V_L_A_D

ну так используй не абсолютное а относительное значение verticalScrollBar->value()

ЗЫ

детский сад на лямках

anonymous
()
Ответ на: комментарий от V_L_A_D

> Если бы ещё что-то в тему писал...

мозгов что ли не хватило понять что он имел ввиду?

надо разделить position на maximum и полученное значение в виде double сохранить, при старте maximum умножить на это double и присвоить position

anonymous
()
Ответ на: комментарий от anonymous

А, так бы сразу и писал. Нет, хотелось бы что-нибудь поточнее (в предложенном способе пользователю обычно приходится пару раз нажимать PageUp/PageDown). Но, наверное, всё-таки придётся заюзать этот способ.

З.Ы. Сорри за наезды. При той погоде, какая сейчас стоит в Луганске, ближе к вечеру мозги начинают просто испаряться;)

V_L_A_D ★★
() автор топика
Ответ на: комментарий от V_L_A_D

Кстати, а если добавлять текст в конец файла, то данный способ не работает. Ладно, нафиг ибо пофиг;)

V_L_A_D ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.