Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Setner от Ноябрь 02, 2012, 22:11



Название: Как отобразить мигающий курсор в другом месте QTextEdit
Отправлено: Setner от Ноябрь 02, 2012, 22:11
Пробую:

Код
C++ (Qt)
QTextCursor tc = ui->QTextEditName->textCursor();
bool visualNavigation = tc.visualNavigation();
tc.movePosition(QTextCursor::Down);
tc.setVisualNavigation(visualNavigation);
ui->QTextEditName->setTextCursor(tc);
 

но курсор просто исчезает из QTextEdit.

Мне надо просто установить мигающий курсор в QTextEdit на определённой абсолютной позиции (int).

Благодарю заранее.


Название: Re: Как отобразить мигающий курсор в другом месте QTextEdit
Отправлено: carrygun от Ноябрь 03, 2012, 08:36
Для определенной позиции есть (не помню точно) setPosition(int) у QTextCursor'а, и навигация тут не при чем.


Название: Re: Как отобразить мигающий курсор в другом месте QTextEdit
Отправлено: Setner от Ноябрь 03, 2012, 14:10
Для определенной позиции есть (не помню точно) setPosition(int) у QTextCursor'а, и навигация тут не при чем.

Спасибо!



Название: Re: Как отобразить мигающий курсор в другом месте QTextEdit
Отправлено: yarick от Ноябрь 03, 2012, 18:10
Нельзя просто так взять и установить положение курсора... Я это сделал через функцию

Код:
void WidTextEdit::setTextCursorPositionNow(int pos){
  QTextCursor copyCursor=textCursor();

  copyCursor.setPosition(pos);
  setTextCursor(copyCursor);
}