Как настроить слайдер в объекте QTextEdit из Framework'a Qt 4.7?

Есть экземпляр класса QTextEdit:
QTextEdit *info2 = new QTextEdit;
info2->setReadOnly(true);
info2->setMinimumHeight(300);
info2->setAlignment(Qt::AlignCenter);


В него я последовательно подгружаю информацию из файла *.txt:
QString str;
QFile LicenseFile("E:/Qt/License.txt");
if (!LicenseFile.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&LicenseFile);
while (!in.atEnd())
{ str = in.readLine();
info2->append(str);}
LicenseFile.close();


Вопрос: какой метод необходимо вызвать, чтобы слайдер текстового блока на момент открытия окна не был прокручен в конец окна QTextEdit.
  • Вопрос задан
  • 3454 просмотра
Решения вопроса 1
bfDeveloper
@bfDeveloper
Дело в том, что у QTextEdit автоматическое управление скролом для того, чтобы курсор всегда было видно (возможно ещё для чего-то). Вам помогут методы управления курсором, например:

edit->moveCursor (QTextCursor::Start); //или QTextCursor::End
edit->ensureCursorVisible() ;

Если курсоры нужны для других целей, то придётся подумать. Хотя вопрос неплохо гуглится по английским форумам, поэтому можно выкрутиться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Riateche
@Riateche
Если не ошибаюсь, это делается так:
QScrollBar* bar = info2->verticalScrollBar();
bar->setValue(bar->minimum());
Ключевые слова в документации по QTextEdit: «Inherits QAbstractScrollArea».
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы