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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTextEdit  (Прочитано 5372 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« : Декабрь 08, 2014, 14:57 »

Скажите, а можно QTextEdit добавлять текст не в конец
Код:
append(QString)
а в начало.

Пытался реализовать с помощью QTextCursor и QCursor, но никак.
Подскажите как можно добиться такого свойства???
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Декабрь 08, 2014, 15:11 »

перемещаешь QTextCursor в начало, потом textEdit->insert...(), потом восстанавливаешь позицию QTextCursor
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #2 : Декабрь 08, 2014, 15:26 »

Делаю так
Код
C++ (Qt)
QTextCursor cursor = ui->txtEdit->textCursor();
cursor.movePositiion(QTextCursor::Start,QTextCursor::MoveAnchor);
ui->txtEdit->insertPlainText(str);
ui->txtEdit->insertPlainText("\n");
cursor.movePositiion(QTextCursor::Start,QTextCursor::MoveAnchor);
 

Но что-то не то???
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Декабрь 08, 2014, 15:40 »

Код
C++ (Qt)
const QTextCursor & lastCursor = ui->textEdit->textCursor();
QTextCursor curCursor(ui->textEdit->document());
curCursor.movePosition(QTextCursor::Start);
curCursor.insertText(ui->lineEdit->text());
ui->textEdit->setTextCursor(lastCursor);

ну и сам мини проект, в котором этот код выполняется.
« Последнее редактирование: Декабрь 08, 2014, 15:42 от gil9red » Записан

demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #4 : Декабрь 08, 2014, 15:43 »

СПСБ
« Последнее редактирование: Декабрь 08, 2014, 15:48 от demaker » Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #5 : Декабрь 08, 2014, 17:12 »

Сделал проще
Код
C++ (Qt)
QTextCursor cursor(ui->txtEdit->document());
cursor.movePosition(QTextCursor::Start);
ui->txtEdit->setTextCursor(cursor);
ui->txtEdit->insertPlainText(str+"\n");
 

Скажите а как сделать чтобы скролл(QScrollArea) оставался на начальной позиции т.е по вновь добавленному тексту Непонимающий
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #6 : Декабрь 08, 2014, 17:48 »

перемещаешь QTextCursor в начало, потом textEdit->insert...(), потом восстанавливаешь позицию QTextCursor

ну я поэтому описанию код делал Улыбающийся

Сделал проще
Код
C++ (Qt)
QTextCursor cursor(ui->txtEdit->document());
cursor.movePosition(QTextCursor::Start);
ui->txtEdit->setTextCursor(cursor);
ui->txtEdit->insertPlainText(str+"\n");
 


у вас просто перемещает в начало документа Улыбающийся
Записан

demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #7 : Декабрь 08, 2014, 17:57 »

Скажите а как сделать чтобы скролл(QScrollArea) оставался на начальной позиции т.е по вновь добавленному тексту
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #8 : Декабрь 08, 2014, 18:21 »

руками (программно) проскроллить наверное придется
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #9 : Декабрь 08, 2014, 18:24 »

руками (программно) проскроллить наверное придется

Ну не очень смешно Грустный
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #10 : Декабрь 08, 2014, 19:13 »

я и не смеялся. документацию бы открывать научился...
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #11 : Декабрь 09, 2014, 12:21 »

я и не смеялся. документацию бы открывать научился...

СПСБ за совет

сделал так
Код
C++ (Qt)
ui->textEdit->scroll(0,0);
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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